18 #ifndef _DECAF_NET_URI_H_
19 #define _DECAF_NET_URI_H_
44 mutable std::string uriString;
46 static const std::string unreserved;
47 static const std::string punct;
48 static const std::string reserved;
49 static const std::string someLegal;
50 static const std::string allLegal;
75 URI(
const std::string& uri);
86 URI(
const std::string& scheme,
const std::string& ssp,
const std::string& fragment);
101 URI(
const std::string& scheme,
const std::string& userInfo,
const std::string& host,
int port,
102 const std::string& path,
const std::string& query,
const std::string& fragment);
113 URI(
const std::string& scheme,
const std::string& host,
114 const std::string& path,
const std::string& fragment);
126 URI(
const std::string& scheme,
const std::string& authority,
127 const std::string& path,
const std::string& query,
128 const std::string& fragment);
139 virtual int compareTo(
const URI& value)
const;
144 virtual bool equals(
const URI& value)
const;
164 std::string getAuthority()
const;
169 std::string getFragment()
const;
174 std::string getHost()
const;
179 std::string getPath()
const;
189 std::string getQuery()
const;
194 std::string getScheme()
const;
199 std::string getUserInfo()
const;
212 std::string getRawAuthority()
const;
222 std::string getRawFragment()
const;
233 std::string getRawPath()
const;
242 std::string getRawQuery()
const;
252 std::string getRawSchemeSpecificPart()
const;
262 std::string getSchemeSpecificPart()
const;
271 std::string getRawUserInfo()
const;
279 bool isAbsolute()
const;
289 bool isOpaque()
const;
316 URI normalize()
const;
337 URI parseServerAuthority()
const;
357 URI relativize(
const URI& uri)
const;
373 URI resolve(
const std::string& str)
const;
414 URI resolve(
const URI& uri)
const;
428 std::string toString()
const;
457 static URI create(
const std::string uri);
469 void parseURI(
const std::string& uri,
bool forceServer);
478 std::string quoteComponent(
const std::string& component,
const std::string& legalset);
489 std::string encodeOthers(
const std::string& src)
const;
497 std::string decode(
const std::string& src)
const;
505 bool equalsHexCaseInsensitive(
const std::string& first,
const std::string& second)
const;
513 std::string convertHexToLowerCase(
const std::string& s)
const;
520 std::string normalize(
const std::string& path)
const;
526 void setSchemeSpecificPart();
virtual ~URI()
Definition: URI.h:130
This class represents an instance of a URI as defined by RFC 2396.
Definition: URI.h:37
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:118
This interface imposes a total ordering on the objects of each class that implements it...
Definition: Comparable.h:33
bool operator<(const std::string &left, const String &right)