Lines Matching full:url
10 // Given a URL string, determine where the query string starts and ends.
13 // have a query string that is separated from the path by '?'. Finally, the URL
14 // could also have a '#'-separated URL fragment which is usually used by the
18 // http://server.com/path/to/object - is the URL of the object,
19 // ?k=v&foo=bar - URL query string
20 // #fragment - URL fragment string
24 bool GetQueryStringPos(const std::string& url, in GetQueryStringPos() argument
28 size_t query_start = url.find_first_of("?#"); in GetQueryStringPos()
30 *query_pos = url.size(); in GetQueryStringPos()
38 size_t query_end = url.size(); in GetQueryStringPos()
41 if (url[query_start] == '?') { in GetQueryStringPos()
42 size_t pos_fragment = url.find('#', query_start); in GetQueryStringPos()
57 std::string url::TrimOffQueryString(std::string* url) { in TrimOffQueryString() argument
59 if (!GetQueryStringPos(*url, false, &query_pos, nullptr)) in TrimOffQueryString()
61 std::string query_string = url->substr(query_pos); in TrimOffQueryString()
62 url->resize(query_pos); in TrimOffQueryString()
66 std::string url::Combine(const std::string& url, const std::string& subpath) { in Combine() argument
67 return CombineMultiple(url, {subpath}); in Combine()
70 std::string url::CombineMultiple(const std::string& url, in CombineMultiple() argument
72 std::string result = url; in CombineMultiple()
89 std::string url::GetQueryString(const std::string& url, bool remove_fragment) { in GetQueryString() argument
92 if (GetQueryStringPos(url, remove_fragment, &query_pos, &query_len)) { in GetQueryString()
93 query_string = url.substr(query_pos, query_len); in GetQueryString()
98 data_encoding::WebParamList url::GetQueryStringParameters( in GetQueryStringParameters()
99 const std::string& url) { in GetQueryStringParameters() argument
101 std::string query_string = GetQueryString(url, true); in GetQueryStringParameters()
107 std::string url::GetQueryStringValue(const std::string& url, in GetQueryStringValue() argument
109 return GetQueryStringValue(GetQueryStringParameters(url), name); in GetQueryStringValue()
112 std::string url::GetQueryStringValue(const data_encoding::WebParamList& params, in GetQueryStringValue()
121 std::string url::RemoveQueryString(const std::string& url, in RemoveQueryString() argument
124 if (!GetQueryStringPos(url, !remove_fragment_too, &query_pos, &query_len)) in RemoveQueryString()
125 return url; in RemoveQueryString()
126 std::string result = url.substr(0, query_pos); in RemoveQueryString()
128 if (fragment_pos < url.size()) { in RemoveQueryString()
129 result += url.substr(fragment_pos); in RemoveQueryString()
134 std::string url::AppendQueryParam(const std::string& url, in AppendQueryParam() argument
137 return AppendQueryParams(url, {{name, value}}); in AppendQueryParam()
140 std::string url::AppendQueryParams(const std::string& url, in AppendQueryParams() argument
143 return url; in AppendQueryParams()
145 GetQueryStringPos(url, true, &query_pos, &query_len); in AppendQueryParams()
147 std::string result = url.substr(0, fragment_pos); in AppendQueryParams()
154 if (fragment_pos < url.size()) { in AppendQueryParams()
155 result += url.substr(fragment_pos); in AppendQueryParams()
160 bool url::HasQueryString(const std::string& url) { in HasQueryString() argument
162 GetQueryStringPos(url, true, &query_pos, &query_len); in HasQueryString()