| 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_URL_REQUEST_URL_FETCHER_CORE_H_ | 5 #ifndef NET_URL_REQUEST_URL_FETCHER_CORE_H_ |
| 6 #define NET_URL_REQUEST_URL_FETCHER_CORE_H_ | 6 #define NET_URL_REQUEST_URL_FETCHER_CORE_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <set> | 10 #include <set> |
| 11 #include <string> | 11 #include <string> |
| 12 | 12 |
| 13 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
| 14 #include "base/debug/stack_trace.h" | 14 #include "base/debug/stack_trace.h" |
| 15 #include "base/files/file_path.h" | 15 #include "base/files/file_path.h" |
| 16 #include "base/lazy_instance.h" | 16 #include "base/lazy_instance.h" |
| 17 #include "base/macros.h" | 17 #include "base/macros.h" |
| 18 #include "base/memory/ref_counted.h" | 18 #include "base/memory/ref_counted.h" |
| 19 #include "base/memory/scoped_ptr.h" | 19 #include "base/memory/scoped_ptr.h" |
| 20 #include "base/timer/timer.h" | 20 #include "base/timer/timer.h" |
| 21 #include "net/base/chunked_upload_data_stream.h" |
| 21 #include "net/base/host_port_pair.h" | 22 #include "net/base/host_port_pair.h" |
| 22 #include "net/http/http_request_headers.h" | 23 #include "net/http/http_request_headers.h" |
| 23 #include "net/url_request/url_fetcher.h" | 24 #include "net/url_request/url_fetcher.h" |
| 24 #include "net/url_request/url_request.h" | 25 #include "net/url_request/url_request.h" |
| 25 #include "net/url_request/url_request_context_getter_observer.h" | 26 #include "net/url_request/url_request_context_getter_observer.h" |
| 26 #include "net/url_request/url_request_status.h" | 27 #include "net/url_request/url_request_status.h" |
| 27 #include "url/gurl.h" | 28 #include "url/gurl.h" |
| 28 | 29 |
| 29 namespace base { | 30 namespace base { |
| 30 class SingleThreadTaskRunner; | 31 class SingleThreadTaskRunner; |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 // to be uploaded. | 267 // to be uploaded. |
| 267 uint64_t upload_range_length_; // The length of the part of file to be | 268 uint64_t upload_range_length_; // The length of the part of file to be |
| 268 // uploaded. | 269 // uploaded. |
| 269 URLFetcher::CreateUploadStreamCallback | 270 URLFetcher::CreateUploadStreamCallback |
| 270 upload_stream_factory_; // Callback to create HTTP POST payload. | 271 upload_stream_factory_; // Callback to create HTTP POST payload. |
| 271 std::string upload_content_type_; // MIME type of POST payload | 272 std::string upload_content_type_; // MIME type of POST payload |
| 272 std::string referrer_; // HTTP Referer header value and policy | 273 std::string referrer_; // HTTP Referer header value and policy |
| 273 URLRequest::ReferrerPolicy referrer_policy_; | 274 URLRequest::ReferrerPolicy referrer_policy_; |
| 274 bool is_chunked_upload_; // True if using chunked transfer encoding | 275 bool is_chunked_upload_; // True if using chunked transfer encoding |
| 275 | 276 |
| 277 // Used to write to |chunked_stream|, even after ownership has been passed to |
| 278 // the URLRequest. Continues to be valid even after the request deletes its |
| 279 // upload data. |
| 280 scoped_ptr<ChunkedUploadDataStream::Writer> chunked_stream_writer_; |
| 281 |
| 282 // Temporary storage of ChunkedUploadDataStream, before request is created. |
| 283 scoped_ptr<ChunkedUploadDataStream> chunked_stream_; |
| 284 |
| 276 // Used to determine how long to wait before making a request or doing a | 285 // Used to determine how long to wait before making a request or doing a |
| 277 // retry. | 286 // retry. |
| 278 // | 287 // |
| 279 // Both of them can only be accessed on the IO thread. | 288 // Both of them can only be accessed on the IO thread. |
| 280 // | 289 // |
| 281 // To determine the proper backoff timing, throttler entries for | 290 // To determine the proper backoff timing, throttler entries for |
| 282 // both |original_URL| and |url| are needed. For example, consider | 291 // both |original_URL| and |url| are needed. For example, consider |
| 283 // the case that URL A redirects to URL B, for which the server | 292 // the case that URL A redirects to URL B, for which the server |
| 284 // returns a 500 response. In this case, the exponential back-off | 293 // returns a 500 response. In this case, the exponential back-off |
| 285 // release time of URL A won't increase. If only the backoff | 294 // release time of URL A won't increase. If only the backoff |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 base::debug::StackTrace stack_trace_; | 351 base::debug::StackTrace stack_trace_; |
| 343 | 352 |
| 344 static base::LazyInstance<Registry> g_registry; | 353 static base::LazyInstance<Registry> g_registry; |
| 345 | 354 |
| 346 DISALLOW_COPY_AND_ASSIGN(URLFetcherCore); | 355 DISALLOW_COPY_AND_ASSIGN(URLFetcherCore); |
| 347 }; | 356 }; |
| 348 | 357 |
| 349 } // namespace net | 358 } // namespace net |
| 350 | 359 |
| 351 #endif // NET_URL_REQUEST_URL_FETCHER_CORE_H_ | 360 #endif // NET_URL_REQUEST_URL_FETCHER_CORE_H_ |
| OLD | NEW |