Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/embedded_test_server.h" | 5 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 163 listen_socket_.reset(); | 163 listen_socket_.reset(); |
| 164 STLDeleteContainerPairSecondPointers(connections_.begin(), | 164 STLDeleteContainerPairSecondPointers(connections_.begin(), |
| 165 connections_.end()); | 165 connections_.end()); |
| 166 connections_.clear(); | 166 connections_.clear(); |
| 167 } | 167 } |
| 168 | 168 |
| 169 void EmbeddedTestServer::HandleRequest(HttpConnection* connection, | 169 void EmbeddedTestServer::HandleRequest(HttpConnection* connection, |
| 170 std::unique_ptr<HttpRequest> request) { | 170 std::unique_ptr<HttpRequest> request) { |
| 171 DCHECK(io_thread_->task_runner()->BelongsToCurrentThread()); | 171 DCHECK(io_thread_->task_runner()->BelongsToCurrentThread()); |
| 172 | 172 |
| 173 for (const auto& handler : request_monitors_) | |
|
Paweł Hajdan Jr.
2016/05/13 10:37:08
nit: Since we differentiate between handlers and m
Takashi Toyoshima
2016/05/18 03:56:37
Done.
| |
| 174 handler.Run(*request); | |
| 175 | |
| 173 std::unique_ptr<HttpResponse> response; | 176 std::unique_ptr<HttpResponse> response; |
| 174 | 177 |
| 175 for (const auto& handler : request_handlers_) { | 178 for (const auto& handler : request_handlers_) { |
| 176 response = handler.Run(*request); | 179 response = handler.Run(*request); |
| 177 if (response) | 180 if (response) |
| 178 break; | 181 break; |
| 179 } | 182 } |
| 180 | 183 |
| 181 if (!response) { | 184 if (!response) { |
| 182 for (const auto& handler : default_request_handlers_) { | 185 for (const auto& handler : default_request_handlers_) { |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 277 ServeFilesFromDirectory(test_data_dir.Append(relative)); | 280 ServeFilesFromDirectory(test_data_dir.Append(relative)); |
| 278 } | 281 } |
| 279 | 282 |
| 280 void EmbeddedTestServer::AddDefaultHandlers(const base::FilePath& directory) { | 283 void EmbeddedTestServer::AddDefaultHandlers(const base::FilePath& directory) { |
| 281 RegisterDefaultHandlers(this); | 284 RegisterDefaultHandlers(this); |
| 282 ServeFilesFromSourceDirectory(directory); | 285 ServeFilesFromSourceDirectory(directory); |
| 283 } | 286 } |
| 284 | 287 |
| 285 void EmbeddedTestServer::RegisterRequestHandler( | 288 void EmbeddedTestServer::RegisterRequestHandler( |
| 286 const HandleRequestCallback& callback) { | 289 const HandleRequestCallback& callback) { |
| 287 // TODO(svaldez): Add check to prevent RegisterHandler from being called | 290 // TODO(svaldez): Add check to prevent RegisterRequestHandler from being |
| 288 // after the server has started. https://crbug.com/546060 | 291 // called after the server has started. https://crbug.com/546060 |
| 289 request_handlers_.push_back(callback); | 292 request_handlers_.push_back(callback); |
| 290 } | 293 } |
| 291 | 294 |
| 295 void EmbeddedTestServer::RegisterRequestMonitor( | |
| 296 const MonitorRequestCallback& callback) { | |
| 297 // TODO(svaldez): Add check to prevent RegisterRequestMonitor from being | |
| 298 // called after the server has started. https://crbug.com/546060 | |
| 299 request_monitors_.push_back(callback); | |
| 300 } | |
| 301 | |
| 292 void EmbeddedTestServer::RegisterDefaultHandler( | 302 void EmbeddedTestServer::RegisterDefaultHandler( |
| 293 const HandleRequestCallback& callback) { | 303 const HandleRequestCallback& callback) { |
| 294 // TODO(svaldez): Add check to prevent RegisterHandler from being called | 304 // TODO(svaldez): Add check to prevent RegisterDefaultHandler from being |
| 295 // after the server has started. https://crbug.com/546060 | 305 // called after the server has started. https://crbug.com/546060 |
| 296 default_request_handlers_.push_back(callback); | 306 default_request_handlers_.push_back(callback); |
| 297 } | 307 } |
| 298 | 308 |
| 299 std::unique_ptr<StreamSocket> EmbeddedTestServer::DoSSLUpgrade( | 309 std::unique_ptr<StreamSocket> EmbeddedTestServer::DoSSLUpgrade( |
| 300 std::unique_ptr<StreamSocket> connection) { | 310 std::unique_ptr<StreamSocket> connection) { |
| 301 DCHECK(io_thread_->task_runner()->BelongsToCurrentThread()); | 311 DCHECK(io_thread_->task_runner()->BelongsToCurrentThread()); |
| 302 | 312 |
| 303 return context_->CreateSSLServerSocket(std::move(connection)); | 313 return context_->CreateSSLServerSocket(std::move(connection)); |
| 304 } | 314 } |
| 305 | 315 |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 430 run_loop.QuitClosure())) { | 440 run_loop.QuitClosure())) { |
| 431 return false; | 441 return false; |
| 432 } | 442 } |
| 433 run_loop.Run(); | 443 run_loop.Run(); |
| 434 | 444 |
| 435 return true; | 445 return true; |
| 436 } | 446 } |
| 437 | 447 |
| 438 } // namespace test_server | 448 } // namespace test_server |
| 439 } // namespace net | 449 } // namespace net |
| OLD | NEW |