48 URL(
const std::string& absolute_url);
55 URL(
const std::string& relative_url,
const URL& baseurl);
58 const std::string&
protocol()
const {
return _proto; }
64 const std::string&
hostname()
const {
return _host; }
71 const std::string&
port()
const {
return _port; }
82 const std::string&
anchor()
const {
return _anchor; }
88 const std::string&
querystring()
const {
return _querystring; }
97 std::string str()
const;
113 static void parse_querystring(
const std::string& query_string,
114 std::map<std::string, std::string>& target_map);
133 static void encode(std::string& str);
144 static std::string encode(
const std::string& str);
158 static void decode(std::string& str);
161 void init_absolute(
const std::string& absurl);
163 void init_relative(
const std::string& relurl,
const URL& baseurl);
166 void split_anchor_from_path();
169 void split_port_from_host();
172 void split_querystring_from_path();
180 void normalize_path(std::string&
path);
187 std::string _querystring;