OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 STATE_DRAIN_BODY_FOR_AUTH_RESTART_COMPLETE, | 95 STATE_DRAIN_BODY_FOR_AUTH_RESTART_COMPLETE, |
96 STATE_SPDY_SEND_REQUEST, | 96 STATE_SPDY_SEND_REQUEST, |
97 STATE_SPDY_SEND_REQUEST_COMPLETE, | 97 STATE_SPDY_SEND_REQUEST_COMPLETE, |
98 STATE_SPDY_READ_HEADERS, | 98 STATE_SPDY_READ_HEADERS, |
99 STATE_SPDY_READ_HEADERS_COMPLETE, | 99 STATE_SPDY_READ_HEADERS_COMPLETE, |
100 STATE_SPDY_READ_BODY, | 100 STATE_SPDY_READ_BODY, |
101 STATE_SPDY_READ_BODY_COMPLETE, | 101 STATE_SPDY_READ_BODY_COMPLETE, |
102 STATE_NONE | 102 STATE_NONE |
103 }; | 103 }; |
104 | 104 |
105 enum ProxyMode { | |
106 kDirectConnection, // If using a direct connection | |
107 kHTTPProxy, // If using a proxy for HTTP (not HTTPS) | |
108 kHTTPProxyUsingTunnel, // If using a tunnel for HTTPS | |
109 kSOCKSProxy, // If using a SOCKS proxy | |
110 }; | |
111 | |
112 enum AlternateProtocolMode { | 105 enum AlternateProtocolMode { |
113 kUnspecified, // Unspecified, check HttpAlternateProtocols | 106 kUnspecified, // Unspecified, check HttpAlternateProtocols |
114 kUsingAlternateProtocol, // Using an alternate protocol | 107 kUsingAlternateProtocol, // Using an alternate protocol |
115 kDoNotUseAlternateProtocol, // Failed to connect once, do not try again. | 108 kDoNotUseAlternateProtocol, // Failed to connect once, do not try again. |
116 }; | 109 }; |
117 | 110 |
118 void DoCallback(int result); | 111 void DoCallback(int result); |
119 void OnIOComplete(int result); | 112 void OnIOComplete(int result); |
120 | 113 |
121 // Runs the state transition loop. | 114 // Runs the state transition loop. |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 | 308 |
316 // True if we've validated the headers that the stream parser has returned. | 309 // True if we've validated the headers that the stream parser has returned. |
317 bool headers_valid_; | 310 bool headers_valid_; |
318 | 311 |
319 // True if we've logged the time of the first response byte. Used to | 312 // True if we've logged the time of the first response byte. Used to |
320 // prevent logging across authentication activity where we see multiple | 313 // prevent logging across authentication activity where we see multiple |
321 // responses. | 314 // responses. |
322 bool logged_response_time; | 315 bool logged_response_time; |
323 | 316 |
324 bool using_ssl_; // True if handling a HTTPS request | 317 bool using_ssl_; // True if handling a HTTPS request |
325 ProxyMode proxy_mode_; | |
326 | 318 |
327 // True while establishing a tunnel. This allows the HTTP CONNECT | 319 // True while establishing a tunnel. This allows the HTTP CONNECT |
328 // request/response to reuse the STATE_SEND_REQUEST, | 320 // request/response to reuse the STATE_SEND_REQUEST, |
329 // STATE_SEND_REQUEST_COMPLETE, STATE_READ_HEADERS, and | 321 // STATE_SEND_REQUEST_COMPLETE, STATE_READ_HEADERS, and |
330 // STATE_READ_HEADERS_COMPLETE states and allows us to tell them apart from | 322 // STATE_READ_HEADERS_COMPLETE states and allows us to tell them apart from |
331 // the real request/response of the transaction. | 323 // the real request/response of the transaction. |
332 bool establishing_tunnel_; | 324 bool establishing_tunnel_; |
333 | 325 |
334 // True if this network transaction is using SPDY instead of HTTP. | 326 // True if this network transaction is using SPDY instead of HTTP. |
335 bool using_spdy_; | 327 bool using_spdy_; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
373 // The hostname and port of the peer. This is not necessarily the one | 365 // The hostname and port of the peer. This is not necessarily the one |
374 // specified by the URL, due to Alternate-Protocol or proxies. | 366 // specified by the URL, due to Alternate-Protocol or proxies. |
375 HostPortPair peer_; | 367 HostPortPair peer_; |
376 | 368 |
377 DISALLOW_COPY_AND_ASSIGN(HttpNetworkTransaction); | 369 DISALLOW_COPY_AND_ASSIGN(HttpNetworkTransaction); |
378 }; | 370 }; |
379 | 371 |
380 } // namespace net | 372 } // namespace net |
381 | 373 |
382 #endif // NET_HTTP_HTTP_NETWORK_TRANSACTION_H_ | 374 #endif // NET_HTTP_HTTP_NETWORK_TRANSACTION_H_ |
OLD | NEW |