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

Side by Side Diff: net/http/http_network_transaction.h

Issue 693943003: Update from https://crrev.com/302630 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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/http/http_cache_transaction.cc ('k') | net/http/http_network_transaction.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 #ifndef NET_HTTP_HTTP_NETWORK_TRANSACTION_H_ 5 #ifndef NET_HTTP_HTTP_NETWORK_TRANSACTION_H_
6 #define NET_HTTP_HTTP_NETWORK_TRANSACTION_H_ 6 #define NET_HTTP_HTTP_NETWORK_TRANSACTION_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 int DoSendRequestComplete(int result); 171 int DoSendRequestComplete(int result);
172 int DoReadHeaders(); 172 int DoReadHeaders();
173 int DoReadHeadersComplete(int result); 173 int DoReadHeadersComplete(int result);
174 int DoReadBody(); 174 int DoReadBody();
175 int DoReadBodyComplete(int result); 175 int DoReadBodyComplete(int result);
176 int DoDrainBodyForAuthRestart(); 176 int DoDrainBodyForAuthRestart();
177 int DoDrainBodyForAuthRestartComplete(int result); 177 int DoDrainBodyForAuthRestartComplete(int result);
178 178
179 void BuildRequestHeaders(bool using_proxy); 179 void BuildRequestHeaders(bool using_proxy);
180 180
181 // Record histogram of time until first byte of header is received.
182 void LogTransactionConnectedMetrics();
183
184 // Record histogram of latency (durations until last byte received).
185 void LogTransactionMetrics() const;
186
187 // Writes a log message to help debugging in the field when we block a proxy 181 // Writes a log message to help debugging in the field when we block a proxy
188 // response to a CONNECT request. 182 // response to a CONNECT request.
189 void LogBlockedTunnelResponse(int response_code) const; 183 void LogBlockedTunnelResponse(int response_code) const;
190 184
191 // Called to handle a client certificate request. 185 // Called to handle a client certificate request.
192 int HandleCertificateRequest(int error); 186 int HandleCertificateRequest(int error);
193 187
194 // Called to possibly handle a client authentication error. 188 // Called to possibly handle a client authentication error.
195 void HandleClientAuthError(int error); 189 void HandleClientAuthError(int error);
196 190
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 269
276 // |proxy_info_| is the ProxyInfo used by the HttpStreamRequest. 270 // |proxy_info_| is the ProxyInfo used by the HttpStreamRequest.
277 ProxyInfo proxy_info_; 271 ProxyInfo proxy_info_;
278 272
279 scoped_ptr<HttpStreamRequest> stream_request_; 273 scoped_ptr<HttpStreamRequest> stream_request_;
280 scoped_ptr<HttpStreamBase> stream_; 274 scoped_ptr<HttpStreamBase> stream_;
281 275
282 // True if we've validated the headers that the stream parser has returned. 276 // True if we've validated the headers that the stream parser has returned.
283 bool headers_valid_; 277 bool headers_valid_;
284 278
285 // True if we've logged the time of the first response byte. Used to
286 // prevent logging across authentication activity where we see multiple
287 // responses.
288 bool logged_response_time_;
289
290 SSLConfig server_ssl_config_; 279 SSLConfig server_ssl_config_;
291 SSLConfig proxy_ssl_config_; 280 SSLConfig proxy_ssl_config_;
292 // fallback_error_code contains the error code that caused the last TLS 281 // fallback_error_code contains the error code that caused the last TLS
293 // fallback. If the fallback connection results in 282 // fallback. If the fallback connection results in
294 // ERR_SSL_INAPPROPRIATE_FALLBACK (i.e. the server indicated that the 283 // ERR_SSL_INAPPROPRIATE_FALLBACK (i.e. the server indicated that the
295 // fallback should not have been needed) then we use this value to return the 284 // fallback should not have been needed) then we use this value to return the
296 // original error that triggered the fallback. 285 // original error that triggered the fallback.
297 int fallback_error_code_; 286 int fallback_error_code_;
298 287
299 HttpRequestHeaders request_headers_; 288 HttpRequestHeaders request_headers_;
300 289
301 // The size in bytes of the buffer we use to drain the response body that 290 // The size in bytes of the buffer we use to drain the response body that
302 // we want to throw away. The response body is typically a small error 291 // we want to throw away. The response body is typically a small error
303 // page just a few hundred bytes long. 292 // page just a few hundred bytes long.
304 static const int kDrainBodyBufferSize = 1024; 293 static const int kDrainBodyBufferSize = 1024;
305 294
306 // User buffer and length passed to the Read method. 295 // User buffer and length passed to the Read method.
307 scoped_refptr<IOBuffer> read_buf_; 296 scoped_refptr<IOBuffer> read_buf_;
308 int read_buf_len_; 297 int read_buf_len_;
309 298
310 // Total number of bytes received on streams for this transaction. 299 // Total number of bytes received on streams for this transaction.
311 int64 total_received_bytes_; 300 int64 total_received_bytes_;
312 301
313 // The time the Start method was called.
314 base::Time start_time_;
315
316 // When the transaction started / finished sending the request, including 302 // When the transaction started / finished sending the request, including
317 // the body, if present. 303 // the body, if present.
318 base::TimeTicks send_start_time_; 304 base::TimeTicks send_start_time_;
319 base::TimeTicks send_end_time_; 305 base::TimeTicks send_end_time_;
320 306
321 // The next state in the state machine. 307 // The next state in the state machine.
322 State next_state_; 308 State next_state_;
323 309
324 // True when the tunnel is in the process of being established - we can't 310 // True when the tunnel is in the process of being established - we can't
325 // read from the socket until the tunnel is done. 311 // read from the socket until the tunnel is done.
326 bool establishing_tunnel_; 312 bool establishing_tunnel_;
327 313
328 // The helper object to use to create WebSocketHandshakeStreamBase 314 // The helper object to use to create WebSocketHandshakeStreamBase
329 // objects. Only relevant when establishing a WebSocket connection. 315 // objects. Only relevant when establishing a WebSocket connection.
330 WebSocketHandshakeStreamBase::CreateHelper* 316 WebSocketHandshakeStreamBase::CreateHelper*
331 websocket_handshake_stream_base_create_helper_; 317 websocket_handshake_stream_base_create_helper_;
332 318
333 BeforeNetworkStartCallback before_network_start_callback_; 319 BeforeNetworkStartCallback before_network_start_callback_;
334 BeforeProxyHeadersSentCallback before_proxy_headers_sent_callback_; 320 BeforeProxyHeadersSentCallback before_proxy_headers_sent_callback_;
335 321
336 DISALLOW_COPY_AND_ASSIGN(HttpNetworkTransaction); 322 DISALLOW_COPY_AND_ASSIGN(HttpNetworkTransaction);
337 }; 323 };
338 324
339 } // namespace net 325 } // namespace net
340 326
341 #endif // NET_HTTP_HTTP_NETWORK_TRANSACTION_H_ 327 #endif // NET_HTTP_HTTP_NETWORK_TRANSACTION_H_
OLDNEW
« no previous file with comments | « net/http/http_cache_transaction.cc ('k') | net/http/http_network_transaction.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698