Lines Matching refs: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,
28 size_t query_start = url.find_first_of("?#");
30 *query_pos = url.size();
38 size_t query_end = url.size();
41 if (url[query_start] == '?') {
42 size_t pos_fragment = url.find('#', query_start);
57 std::string url::TrimOffQueryString(std::string* url) {
59 if (!GetQueryStringPos(*url, false, &query_pos, nullptr))
61 std::string query_string = url->substr(query_pos);
62 url->resize(query_pos);
66 std::string url::Combine(const std::string& url, const std::string& subpath) {
67 return CombineMultiple(url, {subpath});
70 std::string url::CombineMultiple(const std::string& url,
72 std::string result = url;
89 std::string url::GetQueryString(const std::string& url, bool remove_fragment) {
92 if (GetQueryStringPos(url, remove_fragment, &query_pos, &query_len)) {
93 query_string = url.substr(query_pos, query_len);
98 data_encoding::WebParamList url::GetQueryStringParameters(
99 const std::string& url) {
101 std::string query_string = GetQueryString(url, true);
107 std::string url::GetQueryStringValue(const std::string& url,
109 return GetQueryStringValue(GetQueryStringParameters(url), name);
112 std::string url::GetQueryStringValue(const data_encoding::WebParamList& params,
121 std::string url::RemoveQueryString(const std::string& url,
124 if (!GetQueryStringPos(url, !remove_fragment_too, &query_pos, &query_len))
125 return url;
126 std::string result = url.substr(0, query_pos);
128 if (fragment_pos < url.size()) {
129 result += url.substr(fragment_pos);
134 std::string url::AppendQueryParam(const std::string& url,
137 return AppendQueryParams(url, {{name, value}});
140 std::string url::AppendQueryParams(const std::string& url,
143 return url;
145 GetQueryStringPos(url, true, &query_pos, &query_len);
147 std::string result = url.substr(0, fragment_pos);
154 if (fragment_pos < url.size()) {
155 result += url.substr(fragment_pos);
160 bool url::HasQueryString(const std::string& url) {
162 GetQueryStringPos(url, true, &query_pos, &query_len);