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

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

Issue 16268017: GTTF: convert some tests in chrome to use EmbeddedTestServer patch nr 1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: compile Created 7 years, 6 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 bf55539e37cad371b5d63d5bd3fe82215596777d..3b73545828257d7efdc73f371e002d91857a2959 100644
--- a/net/test/embedded_test_server/embedded_test_server.cc
+++ b/net/test/embedded_test_server/embedded_test_server.cc
@@ -25,6 +25,23 @@ namespace test_server {
namespace {
+class CustomHttpResponse : public HttpResponse {
+ public:
+ CustomHttpResponse(const std::string& headers, const std::string& contents)
+ : headers_(headers), contents_(contents) {
+ }
+
+ virtual std::string ToResponseString() const OVERRIDE {
+ return headers_ + "\r\n" + contents_;
+ }
+
+ private:
+ std::string headers_;
+ std::string contents_;
+
+ DISALLOW_COPY_AND_ASSIGN(CustomHttpResponse);
+};
+
// Handles |request| by serving a file from under |server_root|.
scoped_ptr<HttpResponse> HandleFileRequest(
const base::FilePath& server_root,
@@ -40,14 +57,26 @@ scoped_ptr<HttpResponse> HandleFileRequest(
if (query_pos != std::string::npos)
request_path = request_path.substr(0, query_pos);
+ base::FilePath file_path(server_root.AppendASCII(request_path));
std::string file_contents;
- if (!file_util::ReadFileToString(
- server_root.AppendASCII(request_path), &file_contents)) {
+ if (!file_util::ReadFileToString(file_path, &file_contents))
return scoped_ptr<HttpResponse>();
+
+ base::FilePath headers_path(
+ file_path.AddExtension(FILE_PATH_LITERAL("mock-http-headers")));
+
+ if (file_util::PathExists(headers_path)) {
+ std::string headers_contents;
+ if (!file_util::ReadFileToString(headers_path, &headers_contents))
+ return scoped_ptr<HttpResponse>(NULL);
+
+ scoped_ptr<CustomHttpResponse> http_response(
+ new CustomHttpResponse(headers_contents, file_contents));
+ return http_response.PassAs<HttpResponse>();
}
scoped_ptr<BasicHttpResponse> http_response(new BasicHttpResponse);
- http_response->set_code(net::test_server::SUCCESS);
+ http_response->set_code(HTTP_OK);
http_response->set_content(file_contents);
return http_response.PassAs<HttpResponse>();
}
@@ -168,7 +197,7 @@ void EmbeddedTestServer::HandleRequest(HttpConnection* connection,
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);
+ not_found_response->set_code(HTTP_NOT_FOUND);
connection->SendResponse(
not_found_response.PassAs<HttpResponse>());
}

Powered by Google App Engine
This is Rietveld 408576698