Chromium Code Reviews| 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> |
| (...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 538 | 538 |
| 539 std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse); | 539 std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse); |
| 540 http_response->set_content_type("text/html"); | 540 http_response->set_content_type("text/html"); |
| 541 http_response->set_content(base::StringPrintf( | 541 http_response->set_content(base::StringPrintf( |
| 542 "<html><head><meta http-equiv=\"refresh\" content=\"0;url=%s\"></head>" | 542 "<html><head><meta http-equiv=\"refresh\" content=\"0;url=%s\"></head>" |
| 543 "<body>Redirecting to %s</body></html>", | 543 "<body>Redirecting to %s</body></html>", |
| 544 dest.c_str(), dest.c_str())); | 544 dest.c_str(), dest.c_str())); |
| 545 return std::move(http_response); | 545 return std::move(http_response); |
| 546 } | 546 } |
| 547 | 547 |
| 548 // /click-redirect?url=URL&echoheader=HEADER | |
| 549 // Returns a href redirect to URL. | |
| 550 // Responds in the message body with the headers echoed on the current request. | |
| 551 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
| |
| 552 GURL request_url = request.GetURL(); | |
| 553 RequestQuery query = ParseQuery(request_url); | |
| 554 | |
| 555 std::string url; | |
| 556 if (query.find("url") != query.end()) | |
| 557 url = query.at("url").front(); | |
| 558 std::string header_name; | |
| 559 if (query.find("echoheader") != query.end()) | |
| 560 header_name = query.at("echoheader").front(); | |
| 561 | |
| 562 std::string header_result; | |
| 563 if (request.headers.find(header_name) != request.headers.end()) | |
| 564 header_result = request.headers.at(header_name); | |
| 565 else | |
| 566 header_result = "None"; | |
| 567 | |
| 568 std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse); | |
| 569 http_response->set_content_type("text/html"); | |
| 570 http_response->AddCustomHeader("Cache-Control", "no-cache, no-store"); | |
| 571 | |
| 572 http_response->set_content(base::StringPrintf( | |
| 573 "<html><body><a id=\"click\" href=\"%s\">Click to redirect to %s</a>" | |
| 574 "<b>%s</b></body></html>", | |
| 575 url.c_str(), url.c_str(), header_result.c_str())); | |
| 576 return std::move(http_response); | |
| 577 } | |
| 578 | |
| 548 // /defaultresponse | 579 // /defaultresponse |
| 549 // Returns a valid 200 response. | 580 // Returns a valid 200 response. |
| 550 std::unique_ptr<HttpResponse> HandleDefaultResponse( | 581 std::unique_ptr<HttpResponse> HandleDefaultResponse( |
| 551 const HttpRequest& request) { | 582 const HttpRequest& request) { |
| 552 std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse); | 583 std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse); |
| 553 http_response->set_content_type("text/html"); | 584 http_response->set_content_type("text/html"); |
| 554 http_response->set_content("Default response given for path: " + | 585 http_response->set_content("Default response given for path: " + |
| 555 request.relative_url); | 586 request.relative_url); |
| 556 return std::move(http_response); | 587 return std::move(http_response); |
| 557 } | 588 } |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 624 server->RegisterDefaultHandler( | 655 server->RegisterDefaultHandler( |
| 625 PREFIXED_HANDLER("/auth-basic", &HandleAuthBasic)); | 656 PREFIXED_HANDLER("/auth-basic", &HandleAuthBasic)); |
| 626 server->RegisterDefaultHandler( | 657 server->RegisterDefaultHandler( |
| 627 PREFIXED_HANDLER("/auth-digest", &HandleAuthDigest)); | 658 PREFIXED_HANDLER("/auth-digest", &HandleAuthDigest)); |
| 628 server->RegisterDefaultHandler( | 659 server->RegisterDefaultHandler( |
| 629 PREFIXED_HANDLER("/server-redirect", &HandleServerRedirect)); | 660 PREFIXED_HANDLER("/server-redirect", &HandleServerRedirect)); |
| 630 server->RegisterDefaultHandler(base::Bind(&HandleCrossSiteRedirect, server)); | 661 server->RegisterDefaultHandler(base::Bind(&HandleCrossSiteRedirect, server)); |
| 631 server->RegisterDefaultHandler( | 662 server->RegisterDefaultHandler( |
| 632 PREFIXED_HANDLER("/client-redirect", &HandleClientRedirect)); | 663 PREFIXED_HANDLER("/client-redirect", &HandleClientRedirect)); |
| 633 server->RegisterDefaultHandler( | 664 server->RegisterDefaultHandler( |
| 665 PREFIXED_HANDLER("/click-redirect", &HandleClickRedirect)); | |
| 666 server->RegisterDefaultHandler( | |
| 634 PREFIXED_HANDLER("/defaultresponse", &HandleDefaultResponse)); | 667 PREFIXED_HANDLER("/defaultresponse", &HandleDefaultResponse)); |
| 635 server->RegisterDefaultHandler(PREFIXED_HANDLER("/slow", &HandleSlowServer)); | 668 server->RegisterDefaultHandler(PREFIXED_HANDLER("/slow", &HandleSlowServer)); |
| 636 | 669 |
| 637 // TODO(svaldez): HandleDownload | 670 // TODO(svaldez): HandleDownload |
| 638 // TODO(svaldez): HandleDownloadFinish | 671 // TODO(svaldez): HandleDownloadFinish |
| 639 // TODO(svaldez): HandleZipFile | 672 // TODO(svaldez): HandleZipFile |
| 640 // TODO(svaldez): HandleSSLManySmallRecords | 673 // TODO(svaldez): HandleSSLManySmallRecords |
| 641 // TODO(svaldez): HandleChunkedServer | 674 // TODO(svaldez): HandleChunkedServer |
| 642 // TODO(svaldez): HandleGetSSLSessionCache | 675 // TODO(svaldez): HandleGetSSLSessionCache |
| 643 // TODO(svaldez): HandleGetChannelID | 676 // TODO(svaldez): HandleGetChannelID |
| 644 // TODO(svaldez): HandleGetClientCert | 677 // TODO(svaldez): HandleGetClientCert |
| 645 // TODO(svaldez): HandleClientCipherList | 678 // TODO(svaldez): HandleClientCipherList |
| 646 // TODO(svaldez): HandleEchoMultipartPost | 679 // TODO(svaldez): HandleEchoMultipartPost |
| 647 } | 680 } |
| 648 | 681 |
| 649 #undef PREFIXED_HANDLER | 682 #undef PREFIXED_HANDLER |
| 650 | 683 |
| 651 } // namespace test_server | 684 } // namespace test_server |
| 652 } // namespace net | 685 } // namespace net |
| OLD | NEW |