| 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_REQUEST_H_ | 5 #ifndef NET_URL_REQUEST_URL_REQUEST_H_ |
| 6 #define NET_URL_REQUEST_URL_REQUEST_H_ | 6 #define NET_URL_REQUEST_URL_REQUEST_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "base/debug/leak_tracker.h" | 11 #include "base/debug/leak_tracker.h" |
| 12 #include "base/logging.h" | 12 #include "base/logging.h" |
| 13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
| 14 #include "base/string16.h" | 14 #include "base/string16.h" |
| 15 #include "base/supports_user_data.h" | 15 #include "base/supports_user_data.h" |
| 16 #include "base/time.h" | 16 #include "base/time.h" |
| 17 #include "base/threading/non_thread_safe.h" | 17 #include "base/threading/non_thread_safe.h" |
| 18 #include "googleurl/src/gurl.h" | 18 #include "googleurl/src/gurl.h" |
| 19 #include "net/base/auth.h" | 19 #include "net/base/auth.h" |
| 20 #include "net/base/completion_callback.h" | 20 #include "net/base/completion_callback.h" |
| 21 #include "net/base/load_states.h" | 21 #include "net/base/load_states.h" |
| 22 #include "net/base/net_export.h" | 22 #include "net/base/net_export.h" |
| 23 #include "net/base/net_log.h" | 23 #include "net/base/net_log.h" |
| 24 #include "net/base/network_delegate.h" | 24 #include "net/base/network_delegate.h" |
| 25 #include "net/base/request_priority.h" | 25 #include "net/base/request_priority.h" |
| 26 #include "net/base/upload_progress.h" |
| 26 #include "net/cookies/canonical_cookie.h" | 27 #include "net/cookies/canonical_cookie.h" |
| 27 #include "net/http/http_request_headers.h" | 28 #include "net/http/http_request_headers.h" |
| 28 #include "net/http/http_response_info.h" | 29 #include "net/http/http_response_info.h" |
| 29 #include "net/url_request/url_request_status.h" | 30 #include "net/url_request/url_request_status.h" |
| 30 | 31 |
| 31 class FilePath; | 32 class FilePath; |
| 32 // Temporary layering violation to allow existing users of a deprecated | 33 // Temporary layering violation to allow existing users of a deprecated |
| 33 // interface. | 34 // interface. |
| 34 class ChildProcessSecurityPolicyTest; | 35 class ChildProcessSecurityPolicyTest; |
| 35 class ComponentUpdateInterceptor; | 36 class ComponentUpdateInterceptor; |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 | 449 |
| 449 // Returns the current load state for the request. |param| is an optional | 450 // Returns the current load state for the request. |param| is an optional |
| 450 // parameter describing details related to the load state. Not all load states | 451 // parameter describing details related to the load state. Not all load states |
| 451 // have a parameter. | 452 // have a parameter. |
| 452 LoadStateWithParam GetLoadState() const; | 453 LoadStateWithParam GetLoadState() const; |
| 453 void SetLoadStateParam(const string16& param) { | 454 void SetLoadStateParam(const string16& param) { |
| 454 load_state_param_ = param; | 455 load_state_param_ = param; |
| 455 } | 456 } |
| 456 | 457 |
| 457 // Returns the current upload progress in bytes. | 458 // Returns the current upload progress in bytes. |
| 458 uint64 GetUploadProgress() const; | 459 UploadProgress GetUploadProgress() const; |
| 459 | 460 |
| 460 // Get response header(s) by ID or name. These methods may only be called | 461 // Get response header(s) by ID or name. These methods may only be called |
| 461 // once the delegate's OnResponseStarted method has been called. Headers | 462 // once the delegate's OnResponseStarted method has been called. Headers |
| 462 // that appear more than once in the response are coalesced, with values | 463 // that appear more than once in the response are coalesced, with values |
| 463 // separated by commas (per RFC 2616). This will not work with cookies since | 464 // separated by commas (per RFC 2616). This will not work with cookies since |
| 464 // comma can be used in cookie values. | 465 // comma can be used in cookie values. |
| 465 // TODO(darin): add API to enumerate response headers. | 466 // TODO(darin): add API to enumerate response headers. |
| 466 void GetResponseHeaderById(int header_id, std::string* value); | 467 void GetResponseHeaderById(int header_id, std::string* value); |
| 467 void GetResponseHeaderByName(const std::string& name, std::string* value); | 468 void GetResponseHeaderByName(const std::string& name, std::string* value); |
| 468 | 469 |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 778 // Start() is called to the time we dispatch RequestComplete and indicates | 779 // Start() is called to the time we dispatch RequestComplete and indicates |
| 779 // whether the job is active. | 780 // whether the job is active. |
| 780 bool is_pending_; | 781 bool is_pending_; |
| 781 | 782 |
| 782 // Number of times we're willing to redirect. Used to guard against | 783 // Number of times we're willing to redirect. Used to guard against |
| 783 // infinite redirects. | 784 // infinite redirects. |
| 784 int redirect_limit_; | 785 int redirect_limit_; |
| 785 | 786 |
| 786 // Cached value for use after we've orphaned the job handling the | 787 // Cached value for use after we've orphaned the job handling the |
| 787 // first transaction in a request involving redirects. | 788 // first transaction in a request involving redirects. |
| 788 uint64 final_upload_progress_; | 789 UploadProgress final_upload_progress_; |
| 789 | 790 |
| 790 // The priority level for this request. Objects like ClientSocketPool use | 791 // The priority level for this request. Objects like ClientSocketPool use |
| 791 // this to determine which URLRequest to allocate sockets to first. | 792 // this to determine which URLRequest to allocate sockets to first. |
| 792 RequestPriority priority_; | 793 RequestPriority priority_; |
| 793 | 794 |
| 794 // TODO(battre): The only consumer of the identifier_ is currently the | 795 // TODO(battre): The only consumer of the identifier_ is currently the |
| 795 // web request API. We need to match identifiers of requests between the | 796 // web request API. We need to match identifiers of requests between the |
| 796 // web request API and the web navigation API. As the URLRequest does not | 797 // web request API and the web navigation API. As the URLRequest does not |
| 797 // exist when the web navigation API is triggered, the tracking probably | 798 // exist when the web navigation API is triggered, the tracking probably |
| 798 // needs to be done outside of the URLRequest anyway. Therefore, this | 799 // needs to be done outside of the URLRequest anyway. Therefore, this |
| (...skipping 30 matching lines...) Expand all Loading... |
| 829 base::TimeTicks creation_time_; | 830 base::TimeTicks creation_time_; |
| 830 | 831 |
| 831 scoped_ptr<const base::debug::StackTrace> stack_trace_; | 832 scoped_ptr<const base::debug::StackTrace> stack_trace_; |
| 832 | 833 |
| 833 DISALLOW_COPY_AND_ASSIGN(URLRequest); | 834 DISALLOW_COPY_AND_ASSIGN(URLRequest); |
| 834 }; | 835 }; |
| 835 | 836 |
| 836 } // namespace net | 837 } // namespace net |
| 837 | 838 |
| 838 #endif // NET_URL_REQUEST_URL_REQUEST_H_ | 839 #endif // NET_URL_REQUEST_URL_REQUEST_H_ |
| OLD | NEW |