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

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

Issue 8787011: Log server advertised protos and the selected (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_factory_impl_job.h" 5 #include "net/http/http_stream_factory_impl_job.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 const std::string url_; 58 const std::string url_;
59 }; 59 };
60 60
61 Value* HttpStreamJobParameters::ToValue() const { 61 Value* HttpStreamJobParameters::ToValue() const {
62 DictionaryValue* dict = new DictionaryValue(); 62 DictionaryValue* dict = new DictionaryValue();
63 dict->SetString("original_url", original_url_); 63 dict->SetString("original_url", original_url_);
64 dict->SetString("url", url_); 64 dict->SetString("url", url_);
65 return dict; 65 return dict;
66 } 66 }
67 67
68 // Parameters associated with the Proto (with NPN negotiation) of a HTTP stream.
69 class HttpStreamProtoParameters : public NetLog::EventParameters {
70 public:
71 static scoped_refptr<HttpStreamProtoParameters> Create(
72 const SSLClientSocket::NextProtoStatus status,
73 const std::string& proto,
74 const std::string& server_proto) {
agl 2011/12/05 16:38:10 s/server_proto/server_protos/
ramant (doing other things) 2011/12/05 19:03:28 Done.
75 return make_scoped_refptr(new HttpStreamProtoParameters(
76 status, proto, server_proto));
agl 2011/12/05 16:38:10 s/server_proto/server_protos/
ramant (doing other things) 2011/12/05 19:03:28 Done.
77 }
78
79 virtual Value* ToValue() const;
80
81 private:
82 HttpStreamProtoParameters(const SSLClientSocket::NextProtoStatus status,
83 const std::string& proto,
84 const std::string& server_proto)
agl 2011/12/05 16:38:10 s/server_proto/server_protos/ (and the rest.)
ramant (doing other things) 2011/12/05 19:03:28 Done.
85 : status_(status),
86 proto_(proto),
87 server_proto_(server_proto) {}
88
89 const SSLClientSocket::NextProtoStatus status_;
90 const std::string proto_;
91 const std::string server_proto_;
92 };
93
94 Value* HttpStreamProtoParameters::ToValue() const {
95 DictionaryValue* dict = new DictionaryValue();
96
97 dict->SetString("next_proto_status",
98 SSLClientSocket::NextProtoStatusToString(status_));
99 dict->SetString("proto", proto_);
100 dict->SetString("server_proto",
agl 2011/12/05 16:38:10 s/server_proto/server_protos/
ramant (doing other things) 2011/12/05 19:03:28 Done.
101 SSLClientSocket::ServerProtoToString(server_proto_));
agl 2011/12/05 16:38:10 s/Proto/Protos/ s/server_proto_/server_protos_/
ramant (doing other things) 2011/12/05 19:03:28 Done.
102 return dict;
103 }
104
68 HttpStreamFactoryImpl::Job::Job(HttpStreamFactoryImpl* stream_factory, 105 HttpStreamFactoryImpl::Job::Job(HttpStreamFactoryImpl* stream_factory,
69 HttpNetworkSession* session, 106 HttpNetworkSession* session,
70 const HttpRequestInfo& request_info, 107 const HttpRequestInfo& request_info,
71 const SSLConfig& server_ssl_config, 108 const SSLConfig& server_ssl_config,
72 const SSLConfig& proxy_ssl_config, 109 const SSLConfig& proxy_ssl_config,
73 const BoundNetLog& net_log) 110 const BoundNetLog& net_log)
74 : request_(NULL), 111 : request_(NULL),
75 request_info_(request_info), 112 request_info_(request_info),
76 server_ssl_config_(server_ssl_config), 113 server_ssl_config_(server_ssl_config),
77 proxy_ssl_config_(proxy_ssl_config), 114 proxy_ssl_config_(proxy_ssl_config),
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after
704 // then the SSL handshake ran with an unrecoverable error. 741 // then the SSL handshake ran with an unrecoverable error.
705 // otherwise, the error came from one of the other pools. 742 // otherwise, the error came from one of the other pools.
706 bool ssl_started = using_ssl_ && (result == OK || connection_->socket() || 743 bool ssl_started = using_ssl_ && (result == OK || connection_->socket() ||
707 connection_->is_ssl_error()); 744 connection_->is_ssl_error());
708 745
709 if (ssl_started && (result == OK || IsCertificateError(result))) { 746 if (ssl_started && (result == OK || IsCertificateError(result))) {
710 SSLClientSocket* ssl_socket = 747 SSLClientSocket* ssl_socket =
711 static_cast<SSLClientSocket*>(connection_->socket()); 748 static_cast<SSLClientSocket*>(connection_->socket());
712 if (ssl_socket->was_npn_negotiated()) { 749 if (ssl_socket->was_npn_negotiated()) {
713 was_npn_negotiated_ = true; 750 was_npn_negotiated_ = true;
751 std::string proto;
752 std::string server_proto;
agl 2011/12/05 16:38:10 server_protos
ramant (doing other things) 2011/12/05 19:03:28 Done.
753 SSLClientSocket::NextProtoStatus status =
754 ssl_socket->GetNextProto(&proto, &server_proto);
755 net_log_.AddEvent(
756 NetLog::TYPE_HTTP_STREAM_REQUEST_PROTO,
757 HttpStreamProtoParameters::Create(status, proto, server_proto));
714 if (ssl_socket->was_spdy_negotiated()) 758 if (ssl_socket->was_spdy_negotiated())
715 SwitchToSpdyMode(); 759 SwitchToSpdyMode();
716 } 760 }
717 if (ShouldForceSpdySSL()) 761 if (ShouldForceSpdySSL())
718 SwitchToSpdyMode(); 762 SwitchToSpdyMode();
719 } else if (proxy_info_.is_https() && connection_->socket() && 763 } else if (proxy_info_.is_https() && connection_->socket() &&
720 result == OK) { 764 result == OK) {
721 HttpProxyClientSocket* proxy_socket = 765 HttpProxyClientSocket* proxy_socket =
722 static_cast<HttpProxyClientSocket*>(connection_->socket()); 766 static_cast<HttpProxyClientSocket*>(connection_->socket());
723 if (proxy_socket->using_spdy()) { 767 if (proxy_socket->using_spdy()) {
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
1148 return false; 1192 return false;
1149 } 1193 }
1150 if (request_info_.method != "GET" && request_info_.method != "HEAD") { 1194 if (request_info_.method != "GET" && request_info_.method != "HEAD") {
1151 return false; 1195 return false;
1152 } 1196 }
1153 return stream_factory_->http_pipelined_host_pool_.IsHostEligibleForPipelining( 1197 return stream_factory_->http_pipelined_host_pool_.IsHostEligibleForPipelining(
1154 origin_); 1198 origin_);
1155 } 1199 }
1156 1200
1157 } // namespace net 1201 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698