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

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

Issue 2951293002: NetworkService: Destroy URLLoaders when a NetworkContext is destroyed. (Closed)
Patch Set: Response to comment, change why destruction is safe Created 3 years, 6 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
« no previous file with comments | « content/network/url_loader_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 4be6b5dc1f78e363195c0c7d3fb74b809236d4bd..fd3042123827cac7f2820799b15aa215bcdf32f3 100644
--- a/net/test/embedded_test_server/default_handlers.cc
+++ b/net/test/embedded_test_server/default_handlers.cc
@@ -12,6 +12,8 @@
#include <utility>
#include "base/base64.h"
+#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/format_macros.h"
@@ -600,7 +602,7 @@ std::unique_ptr<HttpResponse> HandleSlowServer(const HttpRequest& request) {
}
// Never returns a response.
-class HungHttpResponse : public BasicHttpResponse {
+class HungHttpResponse : public HttpResponse {
public:
HungHttpResponse() {}
@@ -617,6 +619,27 @@ std::unique_ptr<HttpResponse> HandleHungResponse(const HttpRequest& request) {
return base::MakeUnique<HungHttpResponse>();
}
+// Return headers, then hangs.
+class HungAfterHeadersHttpResponse : public HttpResponse {
+ public:
+ HungAfterHeadersHttpResponse() {}
+
+ void SendResponse(const SendBytesCallback& send,
+ const SendCompleteCallback& done) override {
+ send.Run("HTTP/1.1 OK\r\n\r\n", base::Bind(&base::DoNothing));
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(HungAfterHeadersHttpResponse);
+};
+
+// /hung-after-headers
+// Never returns a response.
+std::unique_ptr<HttpResponse> HandleHungAfterHeadersResponse(
+ const HttpRequest& request) {
+ return base::MakeUnique<HungAfterHeadersHttpResponse>();
+}
+
} // anonymous namespace
#define PREFIXED_HANDLER(prefix, handler) \
@@ -662,6 +685,8 @@ void RegisterDefaultHandlers(EmbeddedTestServer* server) {
server->RegisterDefaultHandler(PREFIXED_HANDLER("/slow", &HandleSlowServer));
server->RegisterDefaultHandler(
PREFIXED_HANDLER("/hung", &HandleHungResponse));
+ server->RegisterDefaultHandler(
+ PREFIXED_HANDLER("/hung-after-headers", &HandleHungAfterHeadersResponse));
// TODO(svaldez): HandleDownload
// TODO(svaldez): HandleDownloadFinish
« no previous file with comments | « content/network/url_loader_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698