| 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_request.h" | 5 #include "net/url_request/url_request.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 } | 220 } |
| 221 | 221 |
| 222 const UploadDataStream* URLRequest::get_upload() const { | 222 const UploadDataStream* URLRequest::get_upload() const { |
| 223 return upload_data_stream_.get(); | 223 return upload_data_stream_.get(); |
| 224 } | 224 } |
| 225 | 225 |
| 226 bool URLRequest::has_upload() const { | 226 bool URLRequest::has_upload() const { |
| 227 return upload_data_stream_.get() != NULL; | 227 return upload_data_stream_.get() != NULL; |
| 228 } | 228 } |
| 229 | 229 |
| 230 void URLRequest::SetExtraRequestHeaderById(int id, const string& value, | |
| 231 bool overwrite) { | |
| 232 DCHECK(!is_pending_ || is_redirecting_); | |
| 233 NOTREACHED() << "implement me!"; | |
| 234 } | |
| 235 | |
| 236 void URLRequest::SetExtraRequestHeaderByName(const string& name, | 230 void URLRequest::SetExtraRequestHeaderByName(const string& name, |
| 237 const string& value, | 231 const string& value, |
| 238 bool overwrite) { | 232 bool overwrite) { |
| 239 DCHECK(!is_pending_ || is_redirecting_); | 233 DCHECK(!is_pending_ || is_redirecting_); |
| 240 if (overwrite) { | 234 if (overwrite) { |
| 241 extra_request_headers_.SetHeader(name, value); | 235 extra_request_headers_.SetHeader(name, value); |
| 242 } else { | 236 } else { |
| 243 extra_request_headers_.SetHeaderIfMissing(name, value); | 237 extra_request_headers_.SetHeaderIfMissing(name, value); |
| 244 } | 238 } |
| 245 } | 239 } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 266 } | 260 } |
| 267 | 261 |
| 268 int64 URLRequest::GetTotalReceivedBytes() const { | 262 int64 URLRequest::GetTotalReceivedBytes() const { |
| 269 if (!job_.get()) | 263 if (!job_.get()) |
| 270 return 0; | 264 return 0; |
| 271 | 265 |
| 272 return job_->GetTotalReceivedBytes(); | 266 return job_->GetTotalReceivedBytes(); |
| 273 } | 267 } |
| 274 | 268 |
| 275 LoadStateWithParam URLRequest::GetLoadState() const { | 269 LoadStateWithParam URLRequest::GetLoadState() const { |
| 270 // TODO(pkasting): Remove ScopedTracker below once crbug.com/455952 is |
| 271 // fixed. |
| 272 tracked_objects::ScopedTracker tracking_profile( |
| 273 FROM_HERE_WITH_EXPLICIT_FUNCTION("455952 URLRequest::GetLoadState")); |
| 276 // The !blocked_by_.empty() check allows |this| to report it's blocked on a | 274 // The !blocked_by_.empty() check allows |this| to report it's blocked on a |
| 277 // delegate before it has been started. | 275 // delegate before it has been started. |
| 278 if (calling_delegate_ || !blocked_by_.empty()) { | 276 if (calling_delegate_ || !blocked_by_.empty()) { |
| 279 return LoadStateWithParam( | 277 return LoadStateWithParam( |
| 280 LOAD_STATE_WAITING_FOR_DELEGATE, | 278 LOAD_STATE_WAITING_FOR_DELEGATE, |
| 281 use_blocked_by_as_load_param_ ? base::UTF8ToUTF16(blocked_by_) : | 279 use_blocked_by_as_load_param_ ? base::UTF8ToUTF16(blocked_by_) : |
| 282 base::string16()); | 280 base::string16()); |
| 283 } | 281 } |
| 284 return LoadStateWithParam(job_.get() ? job_->GetLoadState() : LOAD_STATE_IDLE, | 282 return LoadStateWithParam(job_.get() ? job_->GetLoadState() : LOAD_STATE_IDLE, |
| 285 base::string16()); | 283 base::string16()); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 } | 369 } |
| 372 if (final_upload_progress_.position()) { | 370 if (final_upload_progress_.position()) { |
| 373 // The first job completed and none of the subsequent series of | 371 // The first job completed and none of the subsequent series of |
| 374 // GETs when following redirects will upload anything, so we return the | 372 // GETs when following redirects will upload anything, so we return the |
| 375 // cached results from the initial job, the POST. | 373 // cached results from the initial job, the POST. |
| 376 return final_upload_progress_; | 374 return final_upload_progress_; |
| 377 } | 375 } |
| 378 return job_->GetUploadProgress(); | 376 return job_->GetUploadProgress(); |
| 379 } | 377 } |
| 380 | 378 |
| 381 void URLRequest::GetResponseHeaderById(int id, string* value) { | |
| 382 DCHECK(job_.get()); | |
| 383 NOTREACHED() << "implement me!"; | |
| 384 } | |
| 385 | |
| 386 void URLRequest::GetResponseHeaderByName(const string& name, string* value) { | 379 void URLRequest::GetResponseHeaderByName(const string& name, string* value) { |
| 387 DCHECK(value); | 380 DCHECK(value); |
| 388 if (response_info_.headers.get()) { | 381 if (response_info_.headers.get()) { |
| 389 response_info_.headers->GetNormalizedHeader(name, value); | 382 response_info_.headers->GetNormalizedHeader(name, value); |
| 390 } else { | 383 } else { |
| 391 value->clear(); | 384 value->clear(); |
| 392 } | 385 } |
| 393 } | 386 } |
| 394 | 387 |
| 395 void URLRequest::GetAllResponseHeaders(string* headers) { | |
| 396 DCHECK(headers); | |
| 397 if (response_info_.headers.get()) { | |
| 398 response_info_.headers->GetNormalizedHeaders(headers); | |
| 399 } else { | |
| 400 headers->clear(); | |
| 401 } | |
| 402 } | |
| 403 | |
| 404 HostPortPair URLRequest::GetSocketAddress() const { | 388 HostPortPair URLRequest::GetSocketAddress() const { |
| 405 DCHECK(job_.get()); | 389 DCHECK(job_.get()); |
| 406 return job_->GetSocketAddress(); | 390 return job_->GetSocketAddress(); |
| 407 } | 391 } |
| 408 | 392 |
| 409 HttpResponseHeaders* URLRequest::response_headers() const { | 393 HttpResponseHeaders* URLRequest::response_headers() const { |
| 410 return response_info_.headers.get(); | 394 return response_info_.headers.get(); |
| 411 } | 395 } |
| 412 | 396 |
| 413 void URLRequest::GetLoadTimingInfo(LoadTimingInfo* load_timing_info) const { | 397 void URLRequest::GetLoadTimingInfo(LoadTimingInfo* load_timing_info) const { |
| (...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1234 new base::debug::StackTrace(NULL, 0); | 1218 new base::debug::StackTrace(NULL, 0); |
| 1235 *stack_trace_copy = stack_trace; | 1219 *stack_trace_copy = stack_trace; |
| 1236 stack_trace_.reset(stack_trace_copy); | 1220 stack_trace_.reset(stack_trace_copy); |
| 1237 } | 1221 } |
| 1238 | 1222 |
| 1239 const base::debug::StackTrace* URLRequest::stack_trace() const { | 1223 const base::debug::StackTrace* URLRequest::stack_trace() const { |
| 1240 return stack_trace_.get(); | 1224 return stack_trace_.get(); |
| 1241 } | 1225 } |
| 1242 | 1226 |
| 1243 } // namespace net | 1227 } // namespace net |
| OLD | NEW |