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 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 if (request_url.has_query()) | 592 if (request_url.has_query()) |
593 delay = std::atof(request_url.query().c_str()); | 593 delay = std::atof(request_url.query().c_str()); |
594 | 594 |
595 std::unique_ptr<BasicHttpResponse> http_response( | 595 std::unique_ptr<BasicHttpResponse> http_response( |
596 new DelayedHttpResponse(delay)); | 596 new DelayedHttpResponse(delay)); |
597 http_response->set_content_type("text/plain"); | 597 http_response->set_content_type("text/plain"); |
598 http_response->set_content(base::StringPrintf("waited %.1f seconds", delay)); | 598 http_response->set_content(base::StringPrintf("waited %.1f seconds", delay)); |
599 return std::move(http_response); | 599 return std::move(http_response); |
600 } | 600 } |
601 | 601 |
| 602 // Never returns a response. |
| 603 class HungHttpResponse : public BasicHttpResponse { |
| 604 public: |
| 605 HungHttpResponse() {} |
| 606 |
| 607 void SendResponse(const SendBytesCallback& send, |
| 608 const SendCompleteCallback& done) override {} |
| 609 |
| 610 private: |
| 611 DISALLOW_COPY_AND_ASSIGN(HungHttpResponse); |
| 612 }; |
| 613 |
| 614 // /hung |
| 615 // Never returns a response. |
| 616 std::unique_ptr<HttpResponse> HandleHungResponse(const HttpRequest& request) { |
| 617 return base::MakeUnique<HungHttpResponse>(); |
| 618 } |
| 619 |
602 } // namespace anonymous | 620 } // namespace anonymous |
603 | 621 |
604 #define PREFIXED_HANDLER(prefix, handler) \ | 622 #define PREFIXED_HANDLER(prefix, handler) \ |
605 base::Bind(&HandlePrefixedRequest, prefix, base::Bind(handler)) | 623 base::Bind(&HandlePrefixedRequest, prefix, base::Bind(handler)) |
606 | 624 |
607 void RegisterDefaultHandlers(EmbeddedTestServer* server) { | 625 void RegisterDefaultHandlers(EmbeddedTestServer* server) { |
608 server->RegisterDefaultHandler(base::Bind(&HandleDefaultConnect)); | 626 server->RegisterDefaultHandler(base::Bind(&HandleDefaultConnect)); |
609 | 627 |
610 server->RegisterDefaultHandler( | 628 server->RegisterDefaultHandler( |
611 PREFIXED_HANDLER("/cachetime", &HandleCacheTime)); | 629 PREFIXED_HANDLER("/cachetime", &HandleCacheTime)); |
(...skipping 23 matching lines...) Expand all Loading... |
635 server->RegisterDefaultHandler( | 653 server->RegisterDefaultHandler( |
636 PREFIXED_HANDLER("/auth-digest", &HandleAuthDigest)); | 654 PREFIXED_HANDLER("/auth-digest", &HandleAuthDigest)); |
637 server->RegisterDefaultHandler( | 655 server->RegisterDefaultHandler( |
638 PREFIXED_HANDLER("/server-redirect", &HandleServerRedirect)); | 656 PREFIXED_HANDLER("/server-redirect", &HandleServerRedirect)); |
639 server->RegisterDefaultHandler(base::Bind(&HandleCrossSiteRedirect, server)); | 657 server->RegisterDefaultHandler(base::Bind(&HandleCrossSiteRedirect, server)); |
640 server->RegisterDefaultHandler( | 658 server->RegisterDefaultHandler( |
641 PREFIXED_HANDLER("/client-redirect", &HandleClientRedirect)); | 659 PREFIXED_HANDLER("/client-redirect", &HandleClientRedirect)); |
642 server->RegisterDefaultHandler( | 660 server->RegisterDefaultHandler( |
643 PREFIXED_HANDLER("/defaultresponse", &HandleDefaultResponse)); | 661 PREFIXED_HANDLER("/defaultresponse", &HandleDefaultResponse)); |
644 server->RegisterDefaultHandler(PREFIXED_HANDLER("/slow", &HandleSlowServer)); | 662 server->RegisterDefaultHandler(PREFIXED_HANDLER("/slow", &HandleSlowServer)); |
| 663 server->RegisterDefaultHandler( |
| 664 PREFIXED_HANDLER("/hung", &HandleHungResponse)); |
645 | 665 |
646 // TODO(svaldez): HandleDownload | 666 // TODO(svaldez): HandleDownload |
647 // TODO(svaldez): HandleDownloadFinish | 667 // TODO(svaldez): HandleDownloadFinish |
648 // TODO(svaldez): HandleZipFile | 668 // TODO(svaldez): HandleZipFile |
649 // TODO(svaldez): HandleSSLManySmallRecords | 669 // TODO(svaldez): HandleSSLManySmallRecords |
650 // TODO(svaldez): HandleChunkedServer | 670 // TODO(svaldez): HandleChunkedServer |
651 // TODO(svaldez): HandleGetSSLSessionCache | 671 // TODO(svaldez): HandleGetSSLSessionCache |
652 // TODO(svaldez): HandleGetChannelID | 672 // TODO(svaldez): HandleGetChannelID |
653 // TODO(svaldez): HandleGetClientCert | 673 // TODO(svaldez): HandleGetClientCert |
654 // TODO(svaldez): HandleClientCipherList | 674 // TODO(svaldez): HandleClientCipherList |
655 // TODO(svaldez): HandleEchoMultipartPost | 675 // TODO(svaldez): HandleEchoMultipartPost |
656 } | 676 } |
657 | 677 |
658 #undef PREFIXED_HANDLER | 678 #undef PREFIXED_HANDLER |
659 | 679 |
660 } // namespace test_server | 680 } // namespace test_server |
661 } // namespace net | 681 } // namespace net |
OLD | NEW |