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 #include "net/url_request/url_fetcher_core.h" | 5 #include "net/url_request/url_fetcher_core.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
95 was_cancelled_(false), | 95 was_cancelled_(false), |
96 stop_on_redirect_(false), | 96 stop_on_redirect_(false), |
97 stopped_on_redirect_(false), | 97 stopped_on_redirect_(false), |
98 automatically_retry_on_5xx_(true), | 98 automatically_retry_on_5xx_(true), |
99 num_retries_on_5xx_(0), | 99 num_retries_on_5xx_(0), |
100 max_retries_on_5xx_(0), | 100 max_retries_on_5xx_(0), |
101 num_retries_on_network_changes_(0), | 101 num_retries_on_network_changes_(0), |
102 max_retries_on_network_changes_(0), | 102 max_retries_on_network_changes_(0), |
103 current_upload_bytes_(-1), | 103 current_upload_bytes_(-1), |
104 current_response_bytes_(0), | 104 current_response_bytes_(0), |
105 total_response_bytes_(-1) { | 105 total_response_bytes_(-1), |
bengr
2015/08/07 18:00:02
Why are these initialized to -1 and not 0?
amohammadkhan
2015/08/11 22:04:36
To be distinguishable if they are not touched at a
| |
106 total_downloaded_bytes_(-1), | |
107 total_sent_bytes_(-1) { | |
106 CHECK(original_url_.is_valid()); | 108 CHECK(original_url_.is_valid()); |
107 } | 109 } |
108 | 110 |
109 void URLFetcherCore::Start() { | 111 void URLFetcherCore::Start() { |
110 DCHECK(delegate_task_runner_.get()); | 112 DCHECK(delegate_task_runner_.get()); |
111 DCHECK(request_context_getter_.get()) << "We need an URLRequestContext!"; | 113 DCHECK(request_context_getter_.get()) << "We need an URLRequestContext!"; |
112 if (network_task_runner_.get()) { | 114 if (network_task_runner_.get()) { |
113 DCHECK_EQ(network_task_runner_, | 115 DCHECK_EQ(network_task_runner_, |
114 request_context_getter_->GetNetworkTaskRunner()); | 116 request_context_getter_->GetNetworkTaskRunner()); |
115 } else { | 117 } else { |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
340 } | 342 } |
341 | 343 |
342 const URLRequestStatus& URLFetcherCore::GetStatus() const { | 344 const URLRequestStatus& URLFetcherCore::GetStatus() const { |
343 return status_; | 345 return status_; |
344 } | 346 } |
345 | 347 |
346 int URLFetcherCore::GetResponseCode() const { | 348 int URLFetcherCore::GetResponseCode() const { |
347 return response_code_; | 349 return response_code_; |
348 } | 350 } |
349 | 351 |
352 int64 URLFetcherCore::GetBytesSentSize() const { | |
bengr
2015/08/07 18:00:01
GetTotalBytesSent()
amohammadkhan
2015/08/11 22:04:36
Done.
| |
353 return total_sent_bytes_; | |
354 } | |
355 | |
356 int64 URLFetcherCore::GetBytesReceivedSize() const { | |
bengr
2015/08/07 18:00:02
GetTotalReceivedBytes()
amohammadkhan
2015/08/11 22:04:36
Done.
| |
357 return total_downloaded_bytes_; | |
bengr
2015/08/07 18:00:02
total_received_bytes_. In general, please be consi
amohammadkhan
2015/08/11 22:04:36
At first I had use total_received_bytes. But when
| |
358 } | |
359 | |
350 const ResponseCookies& URLFetcherCore::GetCookies() const { | 360 const ResponseCookies& URLFetcherCore::GetCookies() const { |
351 return cookies_; | 361 return cookies_; |
352 } | 362 } |
353 | 363 |
354 void URLFetcherCore::ReceivedContentWasMalformed() { | 364 void URLFetcherCore::ReceivedContentWasMalformed() { |
355 DCHECK(delegate_task_runner_->BelongsToCurrentThread()); | 365 DCHECK(delegate_task_runner_->BelongsToCurrentThread()); |
356 if (network_task_runner_.get()) { | 366 if (network_task_runner_.get()) { |
357 network_task_runner_->PostTask( | 367 network_task_runner_->PostTask( |
358 FROM_HERE, base::Bind(&URLFetcherCore::NotifyMalformedContent, this)); | 368 FROM_HERE, base::Bind(&URLFetcherCore::NotifyMalformedContent, this)); |
359 } | 369 } |
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
800 } | 810 } |
801 | 811 |
802 void URLFetcherCore::CancelRequestAndInformDelegate(int result) { | 812 void URLFetcherCore::CancelRequestAndInformDelegate(int result) { |
803 CancelURLRequest(result); | 813 CancelURLRequest(result); |
804 delegate_task_runner_->PostTask( | 814 delegate_task_runner_->PostTask( |
805 FROM_HERE, | 815 FROM_HERE, |
806 base::Bind(&URLFetcherCore::InformDelegateFetchIsComplete, this)); | 816 base::Bind(&URLFetcherCore::InformDelegateFetchIsComplete, this)); |
807 } | 817 } |
808 | 818 |
809 void URLFetcherCore::ReleaseRequest() { | 819 void URLFetcherCore::ReleaseRequest() { |
820 if (request_) { | |
821 total_received_bytes_ = request_->GetTotalReceivedBytes(); | |
822 int request_body_bytes = 0; | |
823 int request_header_bytes = 0; | |
824 int total_request_bytes = 0; | |
825 if (request_->has_upload()) { | |
bengr
2015/08/07 18:00:02
Remove curly braces.
amohammadkhan
2015/08/11 22:04:36
Done.
| |
826 request_body_bytes = request_->get_upload()->size(); | |
827 } | |
828 net::HttpRequestHeaders request_headers; | |
829 if (request_->GetFullRequestHeaders(&request_headers)) { | |
bengr
2015/08/07 18:00:02
Remove curly braces.
amohammadkhan
2015/08/11 22:04:36
Done.
| |
830 request_header_bytes = request_headers.ToString().length(); | |
831 } | |
832 total_request_bytes = request_body_bytes + request_header_bytes; | |
833 total_sent_bytes_ = total_request_bytes; | |
834 } | |
835 | |
810 request_context_getter_->RemoveObserver(this); | 836 request_context_getter_->RemoveObserver(this); |
811 upload_progress_checker_timer_.reset(); | 837 upload_progress_checker_timer_.reset(); |
812 request_.reset(); | 838 request_.reset(); |
813 g_registry.Get().RemoveURLFetcherCore(this); | 839 g_registry.Get().RemoveURLFetcherCore(this); |
814 } | 840 } |
815 | 841 |
816 base::TimeTicks URLFetcherCore::GetBackoffReleaseTime() { | 842 base::TimeTicks URLFetcherCore::GetBackoffReleaseTime() { |
817 DCHECK(network_task_runner_->BelongsToCurrentThread()); | 843 DCHECK(network_task_runner_->BelongsToCurrentThread()); |
818 | 844 |
819 if (!original_url_throttler_entry_.get()) | 845 if (!original_url_throttler_entry_.get()) |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
950 } | 976 } |
951 | 977 |
952 void URLFetcherCore::AssertHasNoUploadData() const { | 978 void URLFetcherCore::AssertHasNoUploadData() const { |
953 DCHECK(!upload_content_set_); | 979 DCHECK(!upload_content_set_); |
954 DCHECK(upload_content_.empty()); | 980 DCHECK(upload_content_.empty()); |
955 DCHECK(upload_file_path_.empty()); | 981 DCHECK(upload_file_path_.empty()); |
956 DCHECK(upload_stream_factory_.is_null()); | 982 DCHECK(upload_stream_factory_.is_null()); |
957 } | 983 } |
958 | 984 |
959 } // namespace net | 985 } // namespace net |
OLD | NEW |