Chromium Code Reviews| Index: net/test/url_request/url_request_mock_http_job.h |
| diff --git a/net/test/url_request/url_request_mock_http_job.h b/net/test/url_request/url_request_mock_http_job.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9433cc42d0b3dc50ba85357fe1d770375083e228 |
| --- /dev/null |
| +++ b/net/test/url_request/url_request_mock_http_job.h |
| @@ -0,0 +1,85 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| +// |
| +// A URLRequestJob class that pulls the net and http headers from disk. |
| + |
| +#ifndef NET_TEST_URL_REQUEST_URL_REQUEST_MOCK_HTTP_JOB_H_ |
| +#define NET_TEST_URL_REQUEST_URL_REQUEST_MOCK_HTTP_JOB_H_ |
| + |
| +#include <string> |
| + |
| +#include "net/url_request/url_request_file_job.h" |
| + |
| +namespace base { |
| +class FilePath; |
|
mmenke
2014/09/04 19:02:38
Think you missed some of my comment in this file (
xunjieli
2014/09/04 19:24:16
Acknowledged.
|
| +} |
| + |
| +namespace net { |
| +class URLRequestInterceptor; |
| +} |
| + |
| +namespace net { |
| + |
| +class URLRequestMockHTTPJob : public URLRequestFileJob { |
| + public: |
| + URLRequestMockHTTPJob( |
| + URLRequest* request, |
| + NetworkDelegate* network_delegate, |
| + const base::FilePath& file_path, |
| + const scoped_refptr<base::SequencedWorkerPool>& worker_pool); |
| + |
| + virtual bool GetMimeType(std::string* mime_type) const OVERRIDE; |
| + virtual int GetResponseCode() const OVERRIDE; |
| + virtual bool GetCharset(std::string* charset) OVERRIDE; |
| + virtual void GetResponseInfo(HttpResponseInfo* info) OVERRIDE; |
| + virtual bool IsRedirectResponse(GURL* location, |
| + int* http_status_code) OVERRIDE; |
| + |
| + // Adds the testing URLs to the URLRequestFilter. |
| + static void AddUrlHandler( |
| + const base::FilePath& base_path, |
| + const scoped_refptr<base::SequencedWorkerPool>& worker_pool); |
|
mmenke
2014/09/04 19:02:38
Should include base/memory/ref_counted.h here (And
xunjieli
2014/09/04 19:24:16
Done.
|
| + |
| + // Respond to all HTTP requests of |hostname| with contents of the file |
| + // located at |file_path|. |
| + static void AddHostnameToFileHandler( |
| + const std::string& hostname, |
| + const base::FilePath& file, |
| + const scoped_refptr<base::SequencedWorkerPool>& worker_pool); |
| + |
| + // Given the path to a file relative to the path passed to AddUrlHandler(), |
| + // construct a mock URL. |
| + static GURL GetMockUrl(const base::FilePath& path); |
| + |
| + // Given the path to a file relative to the path passed to AddUrlHandler(), |
| + // construct a mock URL for view source. |
| + static GURL GetMockViewSourceUrl(const base::FilePath& path); |
| + |
| + // Returns a URLRequestJobFactory::ProtocolHandler that serves |
| + // URLRequestMockHTTPJob's responding like an HTTP server. |base_path| is the |
| + // file path leading to the root of the directory to use as the root of the |
| + // HTTP server. |
| + static scoped_ptr<URLRequestInterceptor> |
| + CreateInterceptor( |
| + const base::FilePath& base_path, |
| + const scoped_refptr<base::SequencedWorkerPool>& worker_pool); |
| + |
| + // Returns a URLRequestJobFactory::ProtocolHandler that serves |
| + // URLRequestMockHTTPJob's responding like an HTTP server. It responds to all |
| + // requests with the contents of |file|. |
| + static scoped_ptr<URLRequestInterceptor> |
| + CreateInterceptorForSingleFile( |
| + const base::FilePath& file, |
| + const scoped_refptr<base::SequencedWorkerPool>& worker_pool); |
| + |
| + protected: |
| + virtual ~URLRequestMockHTTPJob(); |
| + |
| + private: |
| + void GetResponseInfoConst(HttpResponseInfo* info) const; |
| +}; |
| + |
| +} // namespace net |
| + |
| +#endif // NET_TEST_URL_REQUEST_URL_REQUEST_MOCK_HTTP_JOB_H_ |