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

Unified Diff: net/test/embedded_test_server/embedded_test_server.cc

Issue 15740023: Revert "Revert 202112 "GTTF: Convert most tests in content to use Embedd..."" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: net/test/embedded_test_server/embedded_test_server.cc
diff --git a/net/test/embedded_test_server/embedded_test_server.cc b/net/test/embedded_test_server/embedded_test_server.cc
index ea1d8c5af966057c13b6d6f9be0656e26d52a5cc..95ccbcbd5f0231119d14c9de84d9eb98f88a6299 100644
--- a/net/test/embedded_test_server/embedded_test_server.cc
+++ b/net/test/embedded_test_server/embedded_test_server.cc
@@ -25,36 +25,31 @@ namespace test_server {
namespace {
-// Callback to handle requests with default predefined response for requests
-// matching the address |url|.
-scoped_ptr<HttpResponse> HandleDefaultRequest(const GURL& url,
- const HttpResponse& response,
- const HttpRequest& request) {
- const GURL request_url = url.Resolve(request.relative_url);
- if (url.path() != request_url.path())
- return scoped_ptr<HttpResponse>(NULL);
- return scoped_ptr<HttpResponse>(new HttpResponse(response));
-}
-
// Handles |request| by serving a file from under |server_root|.
-scoped_ptr<HttpResponse> HandleFileRequest(const base::FilePath& server_root,
- const HttpRequest& request) {
+scoped_ptr<HttpResponse> HandleFileRequest(
+ const base::FilePath& server_root,
+ const HttpRequest& request) {
// This is a test-only server. Ignore I/O thread restrictions.
base::ThreadRestrictions::ScopedAllowIO allow_io;
// Trim the first byte ('/').
std::string request_path(request.relative_url.substr(1));
+ // Remove the query string if present.
+ size_t query_pos = request_path.find('?');
+ if (query_pos != std::string::npos)
+ request_path = request_path.substr(0, query_pos);
+
std::string file_contents;
if (!file_util::ReadFileToString(
server_root.AppendASCII(request_path), &file_contents)) {
return scoped_ptr<HttpResponse>(NULL);
}
- scoped_ptr<HttpResponse> http_response(new HttpResponse);
+ scoped_ptr<BasicHttpResponse> http_response(new BasicHttpResponse);
http_response->set_code(net::test_server::SUCCESS);
http_response->set_content(file_contents);
- return http_response.Pass();
+ return http_response.PassAs<HttpResponse>();
}
} // namespace
@@ -157,20 +152,26 @@ void EmbeddedTestServer::HandleRequest(HttpConnection* connection,
scoped_ptr<HttpRequest> request) {
DCHECK(io_thread_->BelongsToCurrentThread());
+ bool request_handled = false;
+
for (size_t i = 0; i < request_handlers_.size(); ++i) {
scoped_ptr<HttpResponse> response =
request_handlers_[i].Run(*request.get());
if (response.get()) {
connection->SendResponse(response.Pass());
- return;
+ request_handled = true;
+ break;
}
}
- LOG(WARNING) << "Request not handled. Returning 404: "
- << request->relative_url;
- scoped_ptr<HttpResponse> not_found_response(new HttpResponse());
- not_found_response->set_code(NOT_FOUND);
- connection->SendResponse(not_found_response.Pass());
+ if (!request_handled) {
+ LOG(WARNING) << "Request not handled. Returning 404: "
+ << request->relative_url;
+ scoped_ptr<BasicHttpResponse> not_found_response(new BasicHttpResponse);
+ not_found_response->set_code(NOT_FOUND);
+ connection->SendResponse(
+ not_found_response.PassAs<HttpResponse>());
+ }
// Drop the connection, since we do not support multiple requests per
// connection.
« no previous file with comments | « net/test/embedded_test_server/embedded_test_server.h ('k') | net/test/embedded_test_server/embedded_test_server_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698