| 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& monitor : request_monitors_) |
| 174 monitor.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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 run_loop.QuitClosure())) { | 452 run_loop.QuitClosure())) { |
| 443 return false; | 453 return false; |
| 444 } | 454 } |
| 445 run_loop.Run(); | 455 run_loop.Run(); |
| 446 | 456 |
| 447 return true; | 457 return true; |
| 448 } | 458 } |
| 449 | 459 |
| 450 } // namespace test_server | 460 } // namespace test_server |
| 451 } // namespace net | 461 } // namespace net |
| OLD | NEW |