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

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

Issue 2016863002: Log BIDIRECTIONL_STREAM_ALIVE before HTTP_STREAM_REQUEST (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added a test Created 4 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
« no previous file with comments | « no previous file | net/http/bidirectional_stream_unittest.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/bidirectional_stream.h" 5 #include "net/http/bidirectional_stream.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 : request_info_(std::move(request_info)), 83 : request_info_(std::move(request_info)),
84 net_log_(BoundNetLog::Make(session->net_log(), 84 net_log_(BoundNetLog::Make(session->net_log(),
85 NetLog::SOURCE_BIDIRECTIONAL_STREAM)), 85 NetLog::SOURCE_BIDIRECTIONAL_STREAM)),
86 session_(session), 86 session_(session),
87 disable_auto_flush_(disable_auto_flush), 87 disable_auto_flush_(disable_auto_flush),
88 delegate_(delegate), 88 delegate_(delegate),
89 timer_(std::move(timer)) { 89 timer_(std::move(timer)) {
90 DCHECK(delegate_); 90 DCHECK(delegate_);
91 DCHECK(request_info_); 91 DCHECK(request_info_);
92 92
93 if (net_log_.IsCapturing()) {
mef 2016/06/01 17:25:40 Should this go down below the failure exit if not
xunjieli 2016/06/01 17:38:45 I think it should be before the failure exit. In c
mef 2016/06/01 17:45:33 sgtm, thanks for explanation!
xunjieli 2016/06/01 22:23:28 thanks for the review!
94 net_log_.BeginEvent(
95 NetLog::TYPE_BIDIRECTIONAL_STREAM_ALIVE,
96 base::Bind(&NetLogCallback, &request_info_->url, &request_info_->method,
97 base::Unretained(&request_info_->extra_headers)));
98 }
99
93 SSLConfig server_ssl_config; 100 SSLConfig server_ssl_config;
94 session->ssl_config_service()->GetSSLConfig(&server_ssl_config); 101 session->ssl_config_service()->GetSSLConfig(&server_ssl_config);
95 session->GetAlpnProtos(&server_ssl_config.alpn_protos); 102 session->GetAlpnProtos(&server_ssl_config.alpn_protos);
96 session->GetNpnProtos(&server_ssl_config.npn_protos); 103 session->GetNpnProtos(&server_ssl_config.npn_protos);
97 104
98 if (!request_info_->url.SchemeIs(url::kHttpsScheme)) { 105 if (!request_info_->url.SchemeIs(url::kHttpsScheme)) {
99 base::ThreadTaskRunnerHandle::Get()->PostTask( 106 base::ThreadTaskRunnerHandle::Get()->PostTask(
100 FROM_HERE, 107 FROM_HERE,
101 base::Bind(&BidirectionalStream::Delegate::OnFailed, 108 base::Bind(&BidirectionalStream::Delegate::OnFailed,
102 base::Unretained(delegate_), ERR_DISALLOWED_URL_SCHEME)); 109 base::Unretained(delegate_), ERR_DISALLOWED_URL_SCHEME));
103 return; 110 return;
104 } 111 }
105 112
106 HttpRequestInfo http_request_info; 113 HttpRequestInfo http_request_info;
107 http_request_info.url = request_info_->url; 114 http_request_info.url = request_info_->url;
108 http_request_info.method = request_info_->method; 115 http_request_info.method = request_info_->method;
109 http_request_info.extra_headers = request_info_->extra_headers; 116 http_request_info.extra_headers = request_info_->extra_headers;
110 stream_request_.reset( 117 stream_request_.reset(
111 session->http_stream_factory()->RequestBidirectionalStreamImpl( 118 session->http_stream_factory()->RequestBidirectionalStreamImpl(
112 http_request_info, request_info_->priority, server_ssl_config, 119 http_request_info, request_info_->priority, server_ssl_config,
113 server_ssl_config, this, net_log_)); 120 server_ssl_config, this, net_log_));
114 // Check that this call cannot fail to set a non-NULL |stream_request_|. 121 // Check that this call cannot fail to set a non-NULL |stream_request_|.
115 DCHECK(stream_request_); 122 DCHECK(stream_request_);
116 // Check that HttpStreamFactory does not invoke OnBidirectionalStreamImplReady 123 // Check that HttpStreamFactory does not invoke OnBidirectionalStreamImplReady
117 // synchronously. 124 // synchronously.
118 DCHECK(!stream_impl_); 125 DCHECK(!stream_impl_);
119 if (net_log_.IsCapturing()) {
120 net_log_.BeginEvent(
121 NetLog::TYPE_BIDIRECTIONAL_STREAM_ALIVE,
122 base::Bind(&NetLogCallback, &request_info_->url, &request_info_->method,
123 base::Unretained(&request_info_->extra_headers)));
124 }
125 } 126 }
126 127
127 BidirectionalStream::~BidirectionalStream() { 128 BidirectionalStream::~BidirectionalStream() {
128 Cancel(); 129 Cancel();
129 if (net_log_.IsCapturing()) { 130 if (net_log_.IsCapturing()) {
130 net_log_.EndEvent(NetLog::TYPE_BIDIRECTIONAL_STREAM_ALIVE); 131 net_log_.EndEvent(NetLog::TYPE_BIDIRECTIONAL_STREAM_ALIVE);
131 } 132 }
132 } 133 }
133 134
134 int BidirectionalStream::ReadData(IOBuffer* buf, int buf_len) { 135 int BidirectionalStream::ReadData(IOBuffer* buf, int buf_len) {
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 const ProxyInfo& used_proxy_info, 333 const ProxyInfo& used_proxy_info,
333 HttpStream* stream) { 334 HttpStream* stream) {
334 DCHECK(stream_request_); 335 DCHECK(stream_request_);
335 336
336 delegate_->OnFailed(ERR_HTTPS_PROXY_TUNNEL_RESPONSE); 337 delegate_->OnFailed(ERR_HTTPS_PROXY_TUNNEL_RESPONSE);
337 } 338 }
338 339
339 void BidirectionalStream::OnQuicBroken() {} 340 void BidirectionalStream::OnQuicBroken() {}
340 341
341 } // namespace net 342 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/http/bidirectional_stream_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698