Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(739)

Side by Side Diff: net/ocsp/nss_ocsp.cc

Issue 11439008: net: Change argument of URLRequest::set_upload from UploadData to UploadDataStream (Closed) Base URL: http://git.chromium.org/chromium/src.git@chunk
Patch Set: Fix android Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/base/upload_file_element_reader.h ('k') | net/test/spawner_communicator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/ocsp/nss_ocsp.h" 5 #include "net/ocsp/nss_ocsp.h"
6 6
7 #include <certt.h> 7 #include <certt.h>
8 #include <certdb.h> 8 #include <certdb.h>
9 #include <ocsp.h> 9 #include <ocsp.h>
10 #include <nspr.h> 10 #include <nspr.h>
(...skipping 15 matching lines...) Expand all
26 #include "base/string_util.h" 26 #include "base/string_util.h"
27 #include "base/stringprintf.h" 27 #include "base/stringprintf.h"
28 #include "base/synchronization/condition_variable.h" 28 #include "base/synchronization/condition_variable.h"
29 #include "base/synchronization/lock.h" 29 #include "base/synchronization/lock.h"
30 #include "base/threading/thread_checker.h" 30 #include "base/threading/thread_checker.h"
31 #include "base/time.h" 31 #include "base/time.h"
32 #include "googleurl/src/gurl.h" 32 #include "googleurl/src/gurl.h"
33 #include "net/base/host_port_pair.h" 33 #include "net/base/host_port_pair.h"
34 #include "net/base/io_buffer.h" 34 #include "net/base/io_buffer.h"
35 #include "net/base/load_flags.h" 35 #include "net/base/load_flags.h"
36 #include "net/base/upload_data.h" 36 #include "net/base/upload_bytes_element_reader.h"
37 #include "net/base/upload_data_stream.h"
37 #include "net/http/http_request_headers.h" 38 #include "net/http/http_request_headers.h"
38 #include "net/http/http_response_headers.h" 39 #include "net/http/http_response_headers.h"
39 #include "net/url_request/url_request.h" 40 #include "net/url_request/url_request.h"
40 #include "net/url_request/url_request_context.h" 41 #include "net/url_request/url_request_context.h"
41 42
42 namespace net { 43 namespace net {
43 44
44 namespace { 45 namespace {
45 46
46 // Protects |g_request_context|. 47 // Protects |g_request_context|.
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 timeout_(timeout), 184 timeout_(timeout),
184 request_(NULL), 185 request_(NULL),
185 buffer_(new IOBuffer(kRecvBufferSize)), 186 buffer_(new IOBuffer(kRecvBufferSize)),
186 response_code_(-1), 187 response_code_(-1),
187 cv_(&lock_), 188 cv_(&lock_),
188 io_loop_(NULL), 189 io_loop_(NULL),
189 finished_(false) {} 190 finished_(false) {}
190 191
191 void SetPostData(const char* http_data, PRUint32 http_data_len, 192 void SetPostData(const char* http_data, PRUint32 http_data_len,
192 const char* http_content_type) { 193 const char* http_content_type) {
194 // |upload_content_| should not be modified if |request_| is active.
195 DCHECK(!request_);
193 upload_content_.assign(http_data, http_data_len); 196 upload_content_.assign(http_data, http_data_len);
194 upload_content_type_.assign(http_content_type); 197 upload_content_type_.assign(http_content_type);
195 } 198 }
196 199
197 void AddHeader(const char* http_header_name, const char* http_header_value) { 200 void AddHeader(const char* http_header_name, const char* http_header_value) {
198 extra_request_headers_.SetHeader(http_header_name, 201 extra_request_headers_.SetHeader(http_header_name,
199 http_header_value); 202 http_header_value);
200 } 203 }
201 204
202 void Start() { 205 void Start() {
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 LOAD_DO_NOT_SEND_COOKIES); 399 LOAD_DO_NOT_SEND_COOKIES);
397 400
398 if (http_request_method_ == "POST") { 401 if (http_request_method_ == "POST") {
399 DCHECK(!upload_content_.empty()); 402 DCHECK(!upload_content_.empty());
400 DCHECK(!upload_content_type_.empty()); 403 DCHECK(!upload_content_type_.empty());
401 404
402 request_->set_method("POST"); 405 request_->set_method("POST");
403 extra_request_headers_.SetHeader( 406 extra_request_headers_.SetHeader(
404 HttpRequestHeaders::kContentType, upload_content_type_); 407 HttpRequestHeaders::kContentType, upload_content_type_);
405 408
406 scoped_refptr<UploadData> upload_data(new UploadData()); 409 scoped_ptr<UploadElementReader> reader(new UploadBytesElementReader(
407 upload_data->AppendBytes(upload_content_.data(), upload_content_.size()); 410 upload_content_.data(), upload_content_.size()));
408 request_->set_upload(upload_data); 411 request_->set_upload(make_scoped_ptr(
412 UploadDataStream::CreateWithReader(reader.Pass(), 0)));
409 } 413 }
410 if (!extra_request_headers_.IsEmpty()) 414 if (!extra_request_headers_.IsEmpty())
411 request_->SetExtraRequestHeaders(extra_request_headers_); 415 request_->SetExtraRequestHeaders(extra_request_headers_);
412 416
413 request_->Start(); 417 request_->Start();
414 AddRef(); // Release after |request_| deleted. 418 AddRef(); // Release after |request_| deleted.
415 } 419 }
416 420
417 GURL url_; // The URL we eventually wound up at 421 GURL url_; // The URL we eventually wound up at
418 std::string http_request_method_; 422 std::string http_request_method_;
419 base::TimeDelta timeout_; // The timeout for OCSP 423 base::TimeDelta timeout_; // The timeout for OCSP
420 URLRequest* request_; // The actual request this wraps 424 URLRequest* request_; // The actual request this wraps
421 scoped_refptr<IOBuffer> buffer_; // Read buffer 425 scoped_refptr<IOBuffer> buffer_; // Read buffer
422 HttpRequestHeaders extra_request_headers_; 426 HttpRequestHeaders extra_request_headers_;
423 std::string upload_content_; // HTTP POST payload 427
428 // HTTP POST payload. |request_| reads bytes from this.
429 std::string upload_content_;
424 std::string upload_content_type_; // MIME type of POST payload 430 std::string upload_content_type_; // MIME type of POST payload
425 431
426 int response_code_; // HTTP status code for the request 432 int response_code_; // HTTP status code for the request
427 std::string response_content_type_; 433 std::string response_content_type_;
428 scoped_refptr<HttpResponseHeaders> response_headers_; 434 scoped_refptr<HttpResponseHeaders> response_headers_;
429 std::string data_; // Results of the request 435 std::string data_; // Results of the request
430 436
431 // |lock_| protects |finished_| and |io_loop_|. 437 // |lock_| protects |finished_| and |io_loop_|.
432 mutable base::Lock lock_; 438 mutable base::Lock lock_;
433 base::ConditionVariable cv_; 439 base::ConditionVariable cv_;
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 void SetURLRequestContextForNSSHttpIO(URLRequestContext* request_context) { 965 void SetURLRequestContextForNSSHttpIO(URLRequestContext* request_context) {
960 pthread_mutex_lock(&g_request_context_lock); 966 pthread_mutex_lock(&g_request_context_lock);
961 if (request_context) { 967 if (request_context) {
962 DCHECK(!g_request_context); 968 DCHECK(!g_request_context);
963 } 969 }
964 g_request_context = request_context; 970 g_request_context = request_context;
965 pthread_mutex_unlock(&g_request_context_lock); 971 pthread_mutex_unlock(&g_request_context_lock);
966 } 972 }
967 973
968 } // namespace net 974 } // namespace net
OLDNEW
« no previous file with comments | « net/base/upload_file_element_reader.h ('k') | net/test/spawner_communicator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698