Index: net/url_request/url_request_test_job.h |
diff --git a/net/url_request/url_request_test_job.h b/net/url_request/url_request_test_job.h |
deleted file mode 100644 |
index fbdbe0fe06d3f0fcf1590f83fae8d0a976932e8e..0000000000000000000000000000000000000000 |
--- a/net/url_request/url_request_test_job.h |
+++ /dev/null |
@@ -1,172 +0,0 @@ |
-// 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. |
- |
-#ifndef NET_URL_REQUEST_URL_REQUEST_TEST_JOB_H_ |
-#define NET_URL_REQUEST_URL_REQUEST_TEST_JOB_H_ |
- |
-#include <string> |
- |
-#include "base/memory/weak_ptr.h" |
-#include "net/base/load_timing_info.h" |
-#include "net/url_request/url_request.h" |
-#include "net/url_request/url_request_job.h" |
-#include "net/url_request/url_request_job_factory.h" |
- |
-namespace net { |
- |
-// This job type is designed to help with simple unit tests. To use, you |
-// probably want to inherit from it to set up the state you want. Then install |
-// it as the protocol handler for the "test" scheme. |
-// |
-// It will respond to several URLs, which you can retrieve using the test_url* |
-// getters, which will in turn respond with the corresponding responses returned |
-// by test_data*. Any other URLs that begin with "test:" will return an error, |
-// which might also be useful, you can use test_url_error() to retreive a |
-// standard one. |
-// |
-// You can override the known URLs or the response data by overriding Start(). |
-// |
-// Optionally, you can also construct test jobs to return a headers and data |
-// provided to the contstructor in response to any request url. |
-// |
-// When a job is created, it gets put on a queue of pending test jobs. To |
-// process jobs on this queue, use ProcessOnePendingMessage, which will process |
-// one step of the next job. If the job is incomplete, it will be added to the |
-// end of the queue. |
-// |
-// Optionally, you can also construct test jobs that advance automatically |
-// without having to call ProcessOnePendingMessage. |
-class NET_EXPORT_PRIVATE URLRequestTestJob : public URLRequestJob { |
- public: |
- // Constructs a job to return one of the canned responses depending on the |
- // request url, with auto advance disabled. |
- URLRequestTestJob(URLRequest* request, NetworkDelegate* network_delegate); |
- |
- // Constructs a job to return one of the canned responses depending on the |
- // request url, optionally with auto advance enabled. |
- URLRequestTestJob(URLRequest* request, |
- NetworkDelegate* network_delegate, |
- bool auto_advance); |
- |
- // Constructs a job to return the given response regardless of the request |
- // url. The headers should include the HTTP status line and be formatted as |
- // expected by HttpResponseHeaders. |
- URLRequestTestJob(URLRequest* request, |
- net::NetworkDelegate* network_delegate, |
- const std::string& response_headers, |
- const std::string& response_data, |
- bool auto_advance); |
- |
- // The canned URLs this handler will respond to without having been |
- // explicitly initialized with response headers and data. |
- // FIXME(brettw): we should probably also have a redirect one |
- static GURL test_url_1(); |
- static GURL test_url_2(); |
- static GURL test_url_3(); |
- static GURL test_url_4(); |
- static GURL test_url_error(); |
- static GURL test_url_redirect_to_url_2(); |
- |
- // The data that corresponds to each of the URLs above |
- static std::string test_data_1(); |
- static std::string test_data_2(); |
- static std::string test_data_3(); |
- static std::string test_data_4(); |
- |
- // The headers that correspond to each of the URLs above |
- static std::string test_headers(); |
- |
- // The headers for a redirect response |
- static std::string test_redirect_headers(); |
- |
- // The headers for a redirect response to the second test url. |
- static std::string test_redirect_to_url_2_headers(); |
- |
- // The headers for a server error response |
- static std::string test_error_headers(); |
- |
- // Processes one pending message from the stack, returning true if any |
- // message was processed, or false if there are no more pending request |
- // notifications to send. This is not applicable when using auto_advance. |
- static bool ProcessOnePendingMessage(); |
- |
- // With auto advance enabled, the job will advance thru the stages without |
- // the caller having to call ProcessOnePendingMessage. Auto advance depends |
- // on having a message loop running. The default is to not auto advance. |
- // Should not be altered after the job has started. |
- bool auto_advance() { return auto_advance_; } |
- void set_auto_advance(bool auto_advance) { auto_advance_ = auto_advance; } |
- |
- void set_load_timing_info(const LoadTimingInfo& load_timing_info) { |
- load_timing_info_ = load_timing_info; |
- } |
- |
- RequestPriority priority() const { return priority_; } |
- |
- // Create a protocol handler for callers that don't subclass. |
- static URLRequestJobFactory::ProtocolHandler* CreateProtocolHandler(); |
- |
- // Job functions |
- void SetPriority(RequestPriority priority) override; |
- void Start() override; |
- bool ReadRawData(IOBuffer* buf, int buf_size, int* bytes_read) override; |
- void Kill() override; |
- bool GetMimeType(std::string* mime_type) const override; |
- void GetResponseInfo(HttpResponseInfo* info) override; |
- void GetLoadTimingInfo(LoadTimingInfo* load_timing_info) const override; |
- int GetResponseCode() const override; |
- bool IsRedirectResponse(GURL* location, int* http_status_code) override; |
- |
- protected: |
- // Override to specify whether the next read done from this job will |
- // return IO pending. This controls whether or not the WAITING state will |
- // transition back to WAITING or to DATA_AVAILABLE after an asynchronous |
- // read is processed. |
- virtual bool NextReadAsync(); |
- |
- // This is what operation we are going to do next when this job is handled. |
- // When the stage is DONE, this job will not be put on the queue. |
- enum Stage { WAITING, DATA_AVAILABLE, ALL_DATA, DONE }; |
- |
- ~URLRequestTestJob() override; |
- |
- // Call to process the next opeation, usually sending a notification, and |
- // advancing the stage if necessary. THIS MAY DELETE THE OBJECT. |
- void ProcessNextOperation(); |
- |
- // Call to move the job along to the next operation. |
- void AdvanceJob(); |
- |
- // Called via InvokeLater to cause callbacks to occur after Start() returns. |
- virtual void StartAsync(); |
- |
- bool auto_advance_; |
- |
- Stage stage_; |
- |
- RequestPriority priority_; |
- |
- // The headers the job should return, will be set in Start() if not provided |
- // in the explicit ctor. |
- scoped_refptr<HttpResponseHeaders> response_headers_; |
- |
- // The data to send, will be set in Start() if not provided in the explicit |
- // ctor. |
- std::string response_data_; |
- |
- // current offset within response_data_ |
- int offset_; |
- |
- // Holds the buffer for an asynchronous ReadRawData call |
- IOBuffer* async_buf_; |
- int async_buf_size_; |
- |
- LoadTimingInfo load_timing_info_; |
- |
- base::WeakPtrFactory<URLRequestTestJob> weak_factory_; |
-}; |
- |
-} // namespace net |
- |
-#endif // NET_URL_REQUEST_URL_REQUEST_TEST_JOB_H_ |