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 |