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