OLD | NEW |
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/default_handlers.h" | 5 #include "net/test/embedded_test_server/default_handlers.h" |
6 | 6 |
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 #include <ctime> | 8 #include <ctime> |
9 #include <map> | 9 #include <map> |
10 #include <sstream> | 10 #include <sstream> |
11 #include <string> | 11 #include <string> |
12 #include <utility> | 12 #include <utility> |
13 | 13 |
14 #include "base/base64.h" | 14 #include "base/base64.h" |
15 #include "base/files/file_path.h" | 15 #include "base/files/file_path.h" |
16 #include "base/files/file_util.h" | 16 #include "base/files/file_util.h" |
17 #include "base/format_macros.h" | 17 #include "base/format_macros.h" |
18 #include "base/macros.h" | 18 #include "base/macros.h" |
19 #include "base/md5.h" | 19 #include "base/md5.h" |
20 #include "base/memory/ptr_util.h" | |
21 #include "base/path_service.h" | 20 #include "base/path_service.h" |
22 #include "base/strings/string_split.h" | 21 #include "base/strings/string_split.h" |
23 #include "base/strings/string_util.h" | 22 #include "base/strings/string_util.h" |
24 #include "base/strings/stringprintf.h" | 23 #include "base/strings/stringprintf.h" |
25 #include "base/threading/thread_task_runner_handle.h" | 24 #include "base/threading/thread_task_runner_handle.h" |
26 #include "base/time/time.h" | 25 #include "base/time/time.h" |
27 #include "net/base/escape.h" | 26 #include "net/base/escape.h" |
28 #include "net/base/url_util.h" | 27 #include "net/base/url_util.h" |
29 #include "net/test/embedded_test_server/http_request.h" | 28 #include "net/test/embedded_test_server/http_request.h" |
30 #include "net/test/embedded_test_server/http_response.h" | 29 #include "net/test/embedded_test_server/http_response.h" |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 "<h1>Request Headers:</h1><pre>" + | 152 "<h1>Request Headers:</h1><pre>" + |
154 request.all_headers + | 153 request.all_headers + |
155 "</pre>" | 154 "</pre>" |
156 "</body></html>"; | 155 "</body></html>"; |
157 | 156 |
158 http_response->set_content_type("text/html"); | 157 http_response->set_content_type("text/html"); |
159 http_response->set_content(body); | 158 http_response->set_content(body); |
160 return std::move(http_response); | 159 return std::move(http_response); |
161 } | 160 } |
162 | 161 |
163 // /echo-raw | |
164 // Returns the query string as the raw response (no HTTP headers). | |
165 std::unique_ptr<HttpResponse> HandleEchoRaw(const HttpRequest& request) { | |
166 return base::MakeUnique<RawHttpResponse>("", request.GetURL().query()); | |
167 } | |
168 | |
169 // /set-cookie?COOKIES | 162 // /set-cookie?COOKIES |
170 // Sets response cookies to be COOKIES. | 163 // Sets response cookies to be COOKIES. |
171 std::unique_ptr<HttpResponse> HandleSetCookie(const HttpRequest& request) { | 164 std::unique_ptr<HttpResponse> HandleSetCookie(const HttpRequest& request) { |
172 std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse); | 165 std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse); |
173 http_response->set_content_type("text/html"); | 166 http_response->set_content_type("text/html"); |
174 std::string content; | 167 std::string content; |
175 GURL request_url = request.GetURL(); | 168 GURL request_url = request.GetURL(); |
176 if (request_url.has_query()) { | 169 if (request_url.has_query()) { |
177 std::vector<std::string> cookies = base::SplitString( | 170 std::vector<std::string> cookies = base::SplitString( |
178 request_url.query(), "&", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL); | 171 request_url.query(), "&", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL); |
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
601 server->RegisterDefaultHandler( | 594 server->RegisterDefaultHandler( |
602 PREFIXED_HANDLER("/cachetime", &HandleCacheTime)); | 595 PREFIXED_HANDLER("/cachetime", &HandleCacheTime)); |
603 server->RegisterDefaultHandler( | 596 server->RegisterDefaultHandler( |
604 base::Bind(&HandleEchoHeader, "/echoheader", "no-cache")); | 597 base::Bind(&HandleEchoHeader, "/echoheader", "no-cache")); |
605 server->RegisterDefaultHandler( | 598 server->RegisterDefaultHandler( |
606 base::Bind(&HandleEchoHeader, "/echoheadercache", "max-age=60000")); | 599 base::Bind(&HandleEchoHeader, "/echoheadercache", "max-age=60000")); |
607 server->RegisterDefaultHandler(PREFIXED_HANDLER("/echo", &HandleEcho)); | 600 server->RegisterDefaultHandler(PREFIXED_HANDLER("/echo", &HandleEcho)); |
608 server->RegisterDefaultHandler( | 601 server->RegisterDefaultHandler( |
609 PREFIXED_HANDLER("/echotitle", &HandleEchoTitle)); | 602 PREFIXED_HANDLER("/echotitle", &HandleEchoTitle)); |
610 server->RegisterDefaultHandler(PREFIXED_HANDLER("/echoall", &HandleEchoAll)); | 603 server->RegisterDefaultHandler(PREFIXED_HANDLER("/echoall", &HandleEchoAll)); |
611 server->RegisterDefaultHandler(PREFIXED_HANDLER("/echo-raw", &HandleEchoRaw)); | |
612 server->RegisterDefaultHandler( | 604 server->RegisterDefaultHandler( |
613 PREFIXED_HANDLER("/set-cookie", &HandleSetCookie)); | 605 PREFIXED_HANDLER("/set-cookie", &HandleSetCookie)); |
614 server->RegisterDefaultHandler( | 606 server->RegisterDefaultHandler( |
615 PREFIXED_HANDLER("/set-many-cookies", &HandleSetManyCookies)); | 607 PREFIXED_HANDLER("/set-many-cookies", &HandleSetManyCookies)); |
616 server->RegisterDefaultHandler( | 608 server->RegisterDefaultHandler( |
617 PREFIXED_HANDLER("/expect-and-set-cookie", &HandleExpectAndSetCookie)); | 609 PREFIXED_HANDLER("/expect-and-set-cookie", &HandleExpectAndSetCookie)); |
618 server->RegisterDefaultHandler( | 610 server->RegisterDefaultHandler( |
619 PREFIXED_HANDLER("/set-header", &HandleSetHeader)); | 611 PREFIXED_HANDLER("/set-header", &HandleSetHeader)); |
620 server->RegisterDefaultHandler( | 612 server->RegisterDefaultHandler( |
621 PREFIXED_HANDLER("/nocontent", &HandleNoContent)); | 613 PREFIXED_HANDLER("/nocontent", &HandleNoContent)); |
(...skipping 21 matching lines...) Expand all Loading... |
643 // TODO(svaldez): HandleGetChannelID | 635 // TODO(svaldez): HandleGetChannelID |
644 // TODO(svaldez): HandleGetClientCert | 636 // TODO(svaldez): HandleGetClientCert |
645 // TODO(svaldez): HandleClientCipherList | 637 // TODO(svaldez): HandleClientCipherList |
646 // TODO(svaldez): HandleEchoMultipartPost | 638 // TODO(svaldez): HandleEchoMultipartPost |
647 } | 639 } |
648 | 640 |
649 #undef PREFIXED_HANDLER | 641 #undef PREFIXED_HANDLER |
650 | 642 |
651 } // namespace test_server | 643 } // namespace test_server |
652 } // namespace net | 644 } // namespace net |
OLD | NEW |