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

Side by Side Diff: net/url_request/url_fetcher_core.cc

Issue 12226008: Allow no content-type for POST, PUT and PATCH methods. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 10 months 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
« net/url_request/url_fetcher.h ('K') | « net/url_request/url_fetcher.h ('k') | no next file » | 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/url_request/url_fetcher_core.h" 5 #include "net/url_request/url_fetcher_core.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file_util_proxy.h" 8 #include "base/files/file_util_proxy.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after
727 url_request_create_data_callback_.Run()); 727 url_request_create_data_callback_.Run());
728 } 728 }
729 729
730 switch (request_type_) { 730 switch (request_type_) {
731 case URLFetcher::GET: 731 case URLFetcher::GET:
732 break; 732 break;
733 733
734 case URLFetcher::POST: 734 case URLFetcher::POST:
735 case URLFetcher::PUT: 735 case URLFetcher::PUT:
736 case URLFetcher::PATCH: 736 case URLFetcher::PATCH:
737 DCHECK(!upload_content_type_.empty()); 737 // |upload_content_type_| must be set if there is (non-empty) upload
738 // content.
739 DCHECK(!(is_chunked_upload_ || upload_content_) ||
740 !upload_content_type_.empty());
mmenke 2013/02/06 16:23:58 Rather than this, I'd prefer a design that require
hidehiko 2013/02/06 17:19:49 Indeed. I just allowed SetUploadData("", "") for e
738 741
739 request_->set_method( 742 request_->set_method(
740 request_type_ == URLFetcher::POST ? "POST" : 743 request_type_ == URLFetcher::POST ? "POST" :
741 request_type_ == URLFetcher::PUT ? "PUT" : "PATCH"); 744 request_type_ == URLFetcher::PUT ? "PUT" : "PATCH");
742 extra_request_headers_.SetHeader(HttpRequestHeaders::kContentType, 745 if (!upload_content_type_.empty())
743 upload_content_type_); 746 extra_request_headers_.SetHeader(HttpRequestHeaders::kContentType,
747 upload_content_type_);
mmenke 2013/02/06 16:23:58 nit: Use braces when body is more than one line.
hidehiko 2013/02/06 17:19:49 Done.
744 if (upload_content_) 748 if (upload_content_)
745 request_->set_upload(upload_content_.Pass()); 749 request_->set_upload(upload_content_.Pass());
746 current_upload_bytes_ = -1; 750 current_upload_bytes_ = -1;
747 // TODO(kinaba): http://crbug.com/118103. Implement upload callback in the 751 // TODO(kinaba): http://crbug.com/118103. Implement upload callback in the
748 // layer and avoid using timer here. 752 // layer and avoid using timer here.
749 upload_progress_checker_timer_.reset( 753 upload_progress_checker_timer_.reset(
750 new base::RepeatingTimer<URLFetcherCore>()); 754 new base::RepeatingTimer<URLFetcherCore>());
751 upload_progress_checker_timer_->Start( 755 upload_progress_checker_timer_->Start(
752 FROM_HERE, 756 FROM_HERE,
753 base::TimeDelta::FromMilliseconds(kUploadProgressTimerInterval), 757 base::TimeDelta::FromMilliseconds(kUploadProgressTimerInterval),
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
1064 } 1068 }
1065 1069
1066 void URLFetcherCore::InformDelegateDownloadDataInDelegateThread( 1070 void URLFetcherCore::InformDelegateDownloadDataInDelegateThread(
1067 scoped_ptr<std::string> download_data) { 1071 scoped_ptr<std::string> download_data) {
1068 DCHECK(delegate_task_runner_->BelongsToCurrentThread()); 1072 DCHECK(delegate_task_runner_->BelongsToCurrentThread());
1069 if (delegate_) 1073 if (delegate_)
1070 delegate_->OnURLFetchDownloadData(fetcher_, download_data.Pass()); 1074 delegate_->OnURLFetchDownloadData(fetcher_, download_data.Pass());
1071 } 1075 }
1072 1076
1073 } // namespace net 1077 } // namespace net
OLDNEW
« net/url_request/url_fetcher.h ('K') | « net/url_request/url_fetcher.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698