18 #ifndef _DECAF_NET_URI_H_ 19 #define _DECAF_NET_URI_H_ 43 mutable std::string uriString;
45 static const std::string unreserved;
46 static const std::string punct;
47 static const std::string reserved;
48 static const std::string someLegal;
49 static const std::string allLegal;
74 URI(
const std::string& uri );
85 URI(
const std::string& scheme,
const std::string& ssp,
const std::string& fragment );
100 URI(
const std::string& scheme,
const std::string& userInfo,
101 const std::string& host,
int port,
102 const std::string& path,
const std::string& query,
103 const std::string& fragment );
114 URI(
const std::string& scheme,
const std::string& host,
115 const std::string& path,
const std::string& fragment );
127 URI(
const std::string& scheme,
const std::string& authority,
128 const std::string& path,
const std::string& query,
129 const std::string& fragment );
140 virtual int compareTo(
const URI& value )
const;
145 virtual bool equals(
const URI& value )
const;
160 virtual bool operator<(
const URI& value )
const;
165 std::string getAuthority()
const;
170 std::string getFragment()
const;
175 std::string getHost()
const;
180 std::string getPath()
const;
190 std::string getQuery()
const;
195 std::string getScheme()
const;
200 std::string getUserInfo()
const;
212 std::string getRawAuthority()
const;
221 std::string getRawFragment()
const;
231 std::string getRawPath()
const;
238 std::string getRawQuery()
const;
246 std::string getRawSchemeSpecificPart()
const;
255 std::string getSchemeSpecificPart()
const;
263 std::string getRawUserInfo()
const;
270 bool isAbsolute()
const;
279 bool isOpaque()
const;
305 URI normalize()
const;
324 URI parseServerAuthority()
const;
342 URI relativize(
const URI& uri )
const;
354 URI resolve(
const std::string& str )
const;
392 URI resolve(
const URI& uri )
const;
405 std::string toString()
const;
432 static URI create(
const std::string uri );
444 void parseURI(
const std::string& uri,
bool forceServer );
453 std::string quoteComponent(
const std::string& component,
454 const std::string& legalset );
465 std::string encodeOthers(
const std::string& src )
const;
473 std::string decode(
const std::string& src )
const;
481 bool equalsHexCaseInsensitive(
const std::string& first,
482 const std::string& second )
const;
490 std::string convertHexToLowerCase(
const std::string& s )
const;
497 std::string normalize(
const std::string& path )
const;
503 void setSchemeSpecificPart();
virtual ~URI()
Definition: URI.h:131
This class represents an instance of a URI as defined by RFC 2396.
Definition: URI.h:36
Basic type object that holds data that composes a given URI.
Definition: URIType.h:31
#define DECAF_API
Definition: Config.h:29
bool operator==(const ArrayPointer< T > &left, const U *right)
Definition: ArrayPointer.h:379
Class URL represents a Uniform Resource Locator, a pointer to a "resource" on the World Wide Web...
Definition: URL.h:106
This interface imposes a total ordering on the objects of each class that implements it...
Definition: Comparable.h:33
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: AprPool.h:25