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 #ifndef NET_TEST_EMBEDDED_TEST_SERVER_EMBEDDED_TEST_SERVER_H_ | 5 #ifndef NET_TEST_EMBEDDED_TEST_SERVER_EMBEDDED_TEST_SERVER_H_ |
| 6 #define NET_TEST_EMBEDDED_TEST_SERVER_EMBEDDED_TEST_SERVER_H_ | 6 #define NET_TEST_EMBEDDED_TEST_SERVER_EMBEDDED_TEST_SERVER_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 32 | 32 |
| 33 // This class is required to be able to have composition instead of inheritance, | 33 // This class is required to be able to have composition instead of inheritance, |
| 34 class HttpListenSocket : public TCPListenSocket { | 34 class HttpListenSocket : public TCPListenSocket { |
| 35 public: | 35 public: |
| 36 HttpListenSocket(const SocketDescriptor socket_descriptor, | 36 HttpListenSocket(const SocketDescriptor socket_descriptor, |
| 37 StreamListenSocket::Delegate* delegate); | 37 StreamListenSocket::Delegate* delegate); |
| 38 virtual ~HttpListenSocket(); | 38 virtual ~HttpListenSocket(); |
| 39 virtual void Listen(); | 39 virtual void Listen(); |
| 40 | 40 |
| 41 private: | 41 private: |
| 42 friend class EmbeddedTestServer; | |
| 43 void DetachFromThread(); | |
|
satorux1
2013/11/26 01:22:58
a function comment is missing.
oshima
2013/11/26 02:18:43
Done.
| |
| 42 | 44 |
| 43 base::ThreadChecker thread_checker_; | 45 base::ThreadChecker thread_checker_; |
| 44 }; | 46 }; |
| 45 | 47 |
| 46 // Class providing an HTTP server for testing purpose. This is a basic server | 48 // Class providing an HTTP server for testing purpose. This is a basic server |
| 47 // providing only an essential subset of HTTP/1.1 protocol. Especially, | 49 // providing only an essential subset of HTTP/1.1 protocol. Especially, |
| 48 // it assumes that the request syntax is correct. It *does not* support | 50 // it assumes that the request syntax is correct. It *does not* support |
| 49 // a Chunked Transfer Encoding. | 51 // a Chunked Transfer Encoding. |
| 50 // | 52 // |
| 51 // The common use case is below: | 53 // The common use case is below: |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 115 // For instance, a request to "/foo.html" is served by "foo.html" under | 117 // For instance, a request to "/foo.html" is served by "foo.html" under |
| 116 // |directory|. Files under sub directories are also handled in the same way | 118 // |directory|. Files under sub directories are also handled in the same way |
| 117 // (i.e. "/foo/bar.html" is served by "foo/bar.html" under |directory|). | 119 // (i.e. "/foo/bar.html" is served by "foo/bar.html" under |directory|). |
| 118 void ServeFilesFromDirectory(const base::FilePath& directory); | 120 void ServeFilesFromDirectory(const base::FilePath& directory); |
| 119 | 121 |
| 120 // The most general purpose method. Any request processing can be added using | 122 // The most general purpose method. Any request processing can be added using |
| 121 // this method. Takes ownership of the object. The |callback| is called | 123 // this method. Takes ownership of the object. The |callback| is called |
| 122 // on UI thread. | 124 // on UI thread. |
| 123 void RegisterRequestHandler(const HandleRequestCallback& callback); | 125 void RegisterRequestHandler(const HandleRequestCallback& callback); |
| 124 | 126 |
| 127 // Starts/Stops IO thread that handles http requests. | |
| 128 void StartThread(); | |
| 129 void StopThread(); | |
| 130 | |
| 125 private: | 131 private: |
| 126 // Initializes and starts the server. If initialization succeeds, Starts() | 132 // Initializes and starts the server. If initialization succeeds, Starts() |
| 127 // will return true. | 133 // will return true. |
| 128 void InitializeOnIOThread(); | 134 void InitializeOnIOThread(); |
| 129 | 135 |
| 130 // Shuts down the server. | 136 // Shuts down the server. |
| 131 void ShutdownOnIOThread(); | 137 void ShutdownOnIOThread(); |
| 132 | 138 |
| 133 // Handles a request when it is parsed. It passes the request to registed | 139 // Handles a request when it is parsed. It passes the request to registed |
| 134 // request handlers and sends a http response. | 140 // request handlers and sends a http response. |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 167 | 173 |
| 168 base::ThreadChecker thread_checker_; | 174 base::ThreadChecker thread_checker_; |
| 169 | 175 |
| 170 DISALLOW_COPY_AND_ASSIGN(EmbeddedTestServer); | 176 DISALLOW_COPY_AND_ASSIGN(EmbeddedTestServer); |
| 171 }; | 177 }; |
| 172 | 178 |
| 173 } // namespace test_servers | 179 } // namespace test_servers |
| 174 } // namespace net | 180 } // namespace net |
| 175 | 181 |
| 176 #endif // NET_TEST_EMBEDDED_TEST_SERVER_EMBEDDED_TEST_SERVER_H_ | 182 #endif // NET_TEST_EMBEDDED_TEST_SERVER_EMBEDDED_TEST_SERVER_H_ |
| OLD | NEW |