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

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

Issue 2670643002: [Android] Refactor LoadUrlTest to replace package org.apache.http (Closed)
Patch Set: Created 3 years, 11 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/default_handlers.cc
diff --git a/net/test/embedded_test_server/default_handlers.cc b/net/test/embedded_test_server/default_handlers.cc
index 16c2487742e2520e2f0d980e06eb8e1965dddc26..530e1084f1523fc4bf3fe7d6649b2d1fd12b367d 100644
--- a/net/test/embedded_test_server/default_handlers.cc
+++ b/net/test/embedded_test_server/default_handlers.cc
@@ -545,6 +545,37 @@ std::unique_ptr<HttpResponse> HandleClientRedirect(const HttpRequest& request) {
return std::move(http_response);
}
+// /click-redirect?url=URL&echoheader=HEADER
+// Returns a href redirect to URL.
+// Responds in the message body with the headers echoed on the current request.
+std::unique_ptr<HttpResponse> HandleClickRedirect(const HttpRequest& request) {
jbudorick 2017/02/02 00:46:41 I'm not sure that this should be in the default ha
+ GURL request_url = request.GetURL();
+ RequestQuery query = ParseQuery(request_url);
+
+ std::string url;
+ if (query.find("url") != query.end())
+ url = query.at("url").front();
+ std::string header_name;
+ if (query.find("echoheader") != query.end())
+ header_name = query.at("echoheader").front();
+
+ std::string header_result;
+ if (request.headers.find(header_name) != request.headers.end())
+ header_result = request.headers.at(header_name);
+ else
+ header_result = "None";
+
+ std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse);
+ http_response->set_content_type("text/html");
+ http_response->AddCustomHeader("Cache-Control", "no-cache, no-store");
+
+ http_response->set_content(base::StringPrintf(
+ "<html><body><a id=\"click\" href=\"%s\">Click to redirect to %s</a>"
+ "<b>%s</b></body></html>",
+ url.c_str(), url.c_str(), header_result.c_str()));
+ return std::move(http_response);
+}
+
// /defaultresponse
// Returns a valid 200 response.
std::unique_ptr<HttpResponse> HandleDefaultResponse(
@@ -631,6 +662,8 @@ void RegisterDefaultHandlers(EmbeddedTestServer* server) {
server->RegisterDefaultHandler(
PREFIXED_HANDLER("/client-redirect", &HandleClientRedirect));
server->RegisterDefaultHandler(
+ PREFIXED_HANDLER("/click-redirect", &HandleClickRedirect));
+ server->RegisterDefaultHandler(
PREFIXED_HANDLER("/defaultresponse", &HandleDefaultResponse));
server->RegisterDefaultHandler(PREFIXED_HANDLER("/slow", &HandleSlowServer));

Powered by Google App Engine
This is Rietveld 408576698