Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(184)

Side by Side Diff: net/test/embedded_test_server/request_handler_util.cc

Issue 1545233002: Convert Pass()→std::move() in //net (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/test/embedded_test_server/request_handler_util.h" 5 #include "net/test/embedded_test_server/request_handler_util.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 #include <ctime> 8 #include <ctime>
9 #include <sstream> 9 #include <sstream>
10 #include <utility>
10 11
11 #include "base/base64.h" 12 #include "base/base64.h"
12 #include "base/files/file_util.h" 13 #include "base/files/file_util.h"
13 #include "base/format_macros.h" 14 #include "base/format_macros.h"
14 #include "base/strings/string_util.h" 15 #include "base/strings/string_util.h"
15 #include "base/strings/stringprintf.h" 16 #include "base/strings/stringprintf.h"
16 #include "base/threading/thread_restrictions.h" 17 #include "base/threading/thread_restrictions.h"
17 #include "net/base/escape.h" 18 #include "net/base/escape.h"
18 #include "net/base/url_util.h" 19 #include "net/base/url_util.h"
19 #include "net/http/http_byte_range.h" 20 #include "net/http/http_byte_range.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 } 133 }
133 134
134 RequestQuery query = ParseQuery(request_url); 135 RequestQuery query = ParseQuery(request_url);
135 136
136 scoped_ptr<BasicHttpResponse> failed_response(new BasicHttpResponse); 137 scoped_ptr<BasicHttpResponse> failed_response(new BasicHttpResponse);
137 failed_response->set_code(HTTP_NOT_FOUND); 138 failed_response->set_code(HTTP_NOT_FOUND);
138 139
139 if (query.find("expected_body") != query.end()) { 140 if (query.find("expected_body") != query.end()) {
140 if (request.content.find(query["expected_body"].front()) == 141 if (request.content.find(query["expected_body"].front()) ==
141 std::string::npos) { 142 std::string::npos) {
142 return failed_response.Pass(); 143 return std::move(failed_response);
143 } 144 }
144 } 145 }
145 146
146 if (query.find("expected_headers") != query.end()) { 147 if (query.find("expected_headers") != query.end()) {
147 for (const auto& header : query["expected_headers"]) { 148 for (const auto& header : query["expected_headers"]) {
148 if (header.find(":") == std::string::npos) 149 if (header.find(":") == std::string::npos)
149 return failed_response.Pass(); 150 return std::move(failed_response);
150 std::string key = header.substr(0, header.find(":")); 151 std::string key = header.substr(0, header.find(":"));
151 std::string value = header.substr(header.find(":") + 1); 152 std::string value = header.substr(header.find(":") + 1);
152 if (request.headers.find(key) == request.headers.end() || 153 if (request.headers.find(key) == request.headers.end() ||
153 request.headers.at(key) != value) { 154 request.headers.at(key) != value) {
154 return failed_response.Pass(); 155 return std::move(failed_response);
155 } 156 }
156 } 157 }
157 } 158 }
158 159
159 // Trim the first byte ('/'). 160 // Trim the first byte ('/').
160 DCHECK(base::StartsWith(relative_path, "/", base::CompareCase::SENSITIVE)); 161 DCHECK(base::StartsWith(relative_path, "/", base::CompareCase::SENSITIVE));
161 std::string request_path = relative_path.substr(1); 162 std::string request_path = relative_path.substr(1);
162 base::FilePath file_path(server_root.AppendASCII(request_path)); 163 base::FilePath file_path(server_root.AppendASCII(request_path));
163 std::string file_contents; 164 std::string file_contents;
164 if (!base::ReadFileToString(file_path, &file_contents)) { 165 if (!base::ReadFileToString(file_path, &file_contents)) {
165 file_path = file_path.AppendASCII("index.html"); 166 file_path = file_path.AppendASCII("index.html");
166 if (!base::ReadFileToString(file_path, &file_contents)) 167 if (!base::ReadFileToString(file_path, &file_contents))
167 return nullptr; 168 return nullptr;
168 } 169 }
169 170
170 if (request.method == METHOD_HEAD) 171 if (request.method == METHOD_HEAD)
171 file_contents = ""; 172 file_contents = "";
172 173
173 if (query.find("replace_text") != query.end()) { 174 if (query.find("replace_text") != query.end()) {
174 for (const auto& replacement : query["replace_text"]) { 175 for (const auto& replacement : query["replace_text"]) {
175 if (replacement.find(":") == std::string::npos) 176 if (replacement.find(":") == std::string::npos)
176 return failed_response.Pass(); 177 return std::move(failed_response);
177 std::string find; 178 std::string find;
178 std::string with; 179 std::string with;
179 base::Base64Decode(replacement.substr(0, replacement.find(":")), &find); 180 base::Base64Decode(replacement.substr(0, replacement.find(":")), &find);
180 base::Base64Decode(replacement.substr(replacement.find(":") + 1), &with); 181 base::Base64Decode(replacement.substr(replacement.find(":") + 1), &with);
181 base::ReplaceSubstringsAfterOffset(&file_contents, 0, find, with); 182 base::ReplaceSubstringsAfterOffset(&file_contents, 0, find, with);
182 } 183 }
183 } 184 }
184 185
185 base::FilePath headers_path( 186 base::FilePath headers_path(
186 file_path.AddExtension(FILE_PATH_LITERAL("mock-http-headers"))); 187 file_path.AddExtension(FILE_PATH_LITERAL("mock-http-headers")));
(...skipping 27 matching lines...) Expand all
214 file_contents.size())); 215 file_contents.size()));
215 216
216 file_contents = file_contents.substr(start, end - start + 1); 217 file_contents = file_contents.substr(start, end - start + 1);
217 } 218 }
218 } 219 }
219 220
220 http_response->set_content_type(GetContentType(file_path)); 221 http_response->set_content_type(GetContentType(file_path));
221 http_response->AddCustomHeader("Accept-Ranges", "bytes"); 222 http_response->AddCustomHeader("Accept-Ranges", "bytes");
222 http_response->AddCustomHeader("ETag", "'" + file_path.MaybeAsASCII() + "'"); 223 http_response->AddCustomHeader("ETag", "'" + file_path.MaybeAsASCII() + "'");
223 http_response->set_content(file_contents); 224 http_response->set_content(file_contents);
224 return http_response.Pass(); 225 return std::move(http_response);
225 } 226 }
226 227
227 } // namespace test_server 228 } // namespace test_server
228 } // namespace net 229 } // namespace net
OLDNEW
« no previous file with comments | « net/test/embedded_test_server/http_request.cc ('k') | net/test/spawned_test_server/base_test_server.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698