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

Side by Side Diff: net/http/http_stream_parser.cc

Issue 1131963003: Switch //net functions to use SchemeIsCryptographic() instead of SchemeIsSecure(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing. Created 5 years, 7 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
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/http/http_stream_parser.h" 5 #include "net/http/http_stream_parser.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram_macros.h" 10 #include "base/metrics/histogram_macros.h"
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after
785 if (read_buf_->offset() == 0 && result != ERR_CONNECTION_CLOSED) 785 if (read_buf_->offset() == 0 && result != ERR_CONNECTION_CLOSED)
786 response_->response_time = base::Time::Now(); 786 response_->response_time = base::Time::Now();
787 787
788 if (result == ERR_CONNECTION_CLOSED) { 788 if (result == ERR_CONNECTION_CLOSED) {
789 // The connection closed before we detected the end of the headers. 789 // The connection closed before we detected the end of the headers.
790 if (read_buf_->offset() == 0) { 790 if (read_buf_->offset() == 0) {
791 // The connection was closed before any data was sent. Likely an error 791 // The connection was closed before any data was sent. Likely an error
792 // rather than empty HTTP/0.9 response. 792 // rather than empty HTTP/0.9 response.
793 io_state_ = STATE_DONE; 793 io_state_ = STATE_DONE;
794 return ERR_EMPTY_RESPONSE; 794 return ERR_EMPTY_RESPONSE;
795 } else if (request_->url.SchemeIsSecure()) { 795 } else if (request_->url.SchemeIsCryptographic()) {
796 // The connection was closed in the middle of the headers. For HTTPS we 796 // The connection was closed in the middle of the headers. For HTTPS we
797 // don't parse partial headers. Return a different error code so that we 797 // don't parse partial headers. Return a different error code so that we
798 // know that we shouldn't attempt to retry the request. 798 // know that we shouldn't attempt to retry the request.
799 io_state_ = STATE_DONE; 799 io_state_ = STATE_DONE;
800 return ERR_RESPONSE_HEADERS_TRUNCATED; 800 return ERR_RESPONSE_HEADERS_TRUNCATED;
801 } 801 }
802 // Parse things as well as we can and let the caller decide what to do. 802 // Parse things as well as we can and let the caller decide what to do.
803 int end_offset; 803 int end_offset;
804 if (response_header_start_offset_ >= 0) { 804 if (response_header_start_offset_ >= 0) {
805 // The response looks to be a truncated set of HTTP headers. 805 // The response looks to be a truncated set of HTTP headers.
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 1032
1033 void HttpStreamParser::SetConnectionReused() { 1033 void HttpStreamParser::SetConnectionReused() {
1034 connection_->set_reuse_type(ClientSocketHandle::REUSED_IDLE); 1034 connection_->set_reuse_type(ClientSocketHandle::REUSED_IDLE);
1035 } 1035 }
1036 1036
1037 bool HttpStreamParser::IsConnectionReusable() const { 1037 bool HttpStreamParser::IsConnectionReusable() const {
1038 return connection_->socket() && connection_->socket()->IsConnectedAndIdle(); 1038 return connection_->socket() && connection_->socket()->IsConnectedAndIdle();
1039 } 1039 }
1040 1040
1041 void HttpStreamParser::GetSSLInfo(SSLInfo* ssl_info) { 1041 void HttpStreamParser::GetSSLInfo(SSLInfo* ssl_info) {
1042 if (request_->url.SchemeIsSecure() && connection_->socket()) { 1042 if (request_->url.SchemeIsCryptographic() && connection_->socket()) {
1043 SSLClientSocket* ssl_socket = 1043 SSLClientSocket* ssl_socket =
1044 static_cast<SSLClientSocket*>(connection_->socket()); 1044 static_cast<SSLClientSocket*>(connection_->socket());
1045 ssl_socket->GetSSLInfo(ssl_info); 1045 ssl_socket->GetSSLInfo(ssl_info);
1046 } 1046 }
1047 } 1047 }
1048 1048
1049 void HttpStreamParser::GetSSLCertRequestInfo( 1049 void HttpStreamParser::GetSSLCertRequestInfo(
1050 SSLCertRequestInfo* cert_request_info) { 1050 SSLCertRequestInfo* cert_request_info) {
1051 if (request_->url.SchemeIsSecure() && connection_->socket()) { 1051 if (request_->url.SchemeIsCryptographic() && connection_->socket()) {
1052 SSLClientSocket* ssl_socket = 1052 SSLClientSocket* ssl_socket =
1053 static_cast<SSLClientSocket*>(connection_->socket()); 1053 static_cast<SSLClientSocket*>(connection_->socket());
1054 ssl_socket->GetSSLCertRequestInfo(cert_request_info); 1054 ssl_socket->GetSSLCertRequestInfo(cert_request_info);
1055 } 1055 }
1056 } 1056 }
1057 1057
1058 int HttpStreamParser::EncodeChunk(const base::StringPiece& payload, 1058 int HttpStreamParser::EncodeChunk(const base::StringPiece& payload,
1059 char* output, 1059 char* output,
1060 size_t output_size) { 1060 size_t output_size) {
1061 if (output_size < payload.size() + kChunkHeaderFooterSize) 1061 if (output_size < payload.size() + kChunkHeaderFooterSize)
(...skipping 26 matching lines...) Expand all
1088 request_body->IsInMemory() && 1088 request_body->IsInMemory() &&
1089 request_body->size() > 0) { 1089 request_body->size() > 0) {
1090 uint64 merged_size = request_headers.size() + request_body->size(); 1090 uint64 merged_size = request_headers.size() + request_body->size();
1091 if (merged_size <= kMaxMergedHeaderAndBodySize) 1091 if (merged_size <= kMaxMergedHeaderAndBodySize)
1092 return true; 1092 return true;
1093 } 1093 }
1094 return false; 1094 return false;
1095 } 1095 }
1096 1096
1097 } // namespace net 1097 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698