OLD | NEW |
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_STREAM_FACTORY_IMPL_REQUEST_H_ | 5 #ifndef NET_HTTP_HTTP_STREAM_FACTORY_IMPL_REQUEST_H_ |
6 #define NET_HTTP_HTTP_STREAM_FACTORY_IMPL_REQUEST_H_ | 6 #define NET_HTTP_HTTP_STREAM_FACTORY_IMPL_REQUEST_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "net/base/net_log.h" | 10 #include "net/base/net_log.h" |
11 #include "net/http/http_stream_factory_impl.h" | 11 #include "net/http/http_stream_factory_impl.h" |
12 #include "net/socket/ssl_client_socket.h" | 12 #include "net/socket/ssl_client_socket.h" |
13 #include "net/spdy/spdy_session_key.h" | 13 #include "net/spdy/spdy_session_key.h" |
14 #include "url/gurl.h" | 14 #include "url/gurl.h" |
15 | 15 |
16 namespace net { | 16 namespace net { |
17 | 17 |
18 class ClientSocketHandle; | 18 class ClientSocketHandle; |
19 class HttpStream; | 19 class HttpStream; |
20 class SpdySession; | 20 class SpdySession; |
21 | 21 |
22 class HttpStreamFactoryImpl::Request : public HttpStreamRequest { | 22 class HttpStreamFactoryImpl::Request : public HttpStreamRequest { |
23 public: | 23 public: |
24 Request(const GURL& url, | 24 Request(const GURL& url, |
25 HttpStreamFactoryImpl* factory, | 25 HttpStreamFactoryImpl* factory, |
26 HttpStreamRequest::Delegate* delegate, | 26 HttpStreamRequest::Delegate* delegate, |
27 WebSocketHandshakeStreamBase::CreateHelper* | 27 WebSocketHandshakeStreamBase::CreateHelper* |
28 websocket_handshake_stream_create_helper, | 28 websocket_handshake_stream_create_helper, |
29 const BoundNetLog& net_log); | 29 const BoundNetLog& net_log); |
30 virtual ~Request(); | 30 ~Request() override; |
31 | 31 |
32 // The GURL from the HttpRequestInfo the started the Request. | 32 // The GURL from the HttpRequestInfo the started the Request. |
33 const GURL& url() const { return url_; } | 33 const GURL& url() const { return url_; } |
34 | 34 |
35 // Called when the Job determines the appropriate |spdy_session_key| for the | 35 // Called when the Job determines the appropriate |spdy_session_key| for the |
36 // Request. Note that this does not mean that SPDY is necessarily supported | 36 // Request. Note that this does not mean that SPDY is necessarily supported |
37 // for this SpdySessionKey, since we may need to wait for NPN to complete | 37 // for this SpdySessionKey, since we may need to wait for NPN to complete |
38 // before knowing if SPDY is available. | 38 // before knowing if SPDY is available. |
39 void SetSpdySessionKey(const SpdySessionKey& spdy_session_key); | 39 void SetSpdySessionKey(const SpdySessionKey& spdy_session_key); |
40 bool HasSpdySessionKey() const; | 40 bool HasSpdySessionKey() const; |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 SSLCertRequestInfo* cert_info); | 91 SSLCertRequestInfo* cert_info); |
92 void OnHttpsProxyTunnelResponse( | 92 void OnHttpsProxyTunnelResponse( |
93 Job *job, | 93 Job *job, |
94 const HttpResponseInfo& response_info, | 94 const HttpResponseInfo& response_info, |
95 const SSLConfig& used_ssl_config, | 95 const SSLConfig& used_ssl_config, |
96 const ProxyInfo& used_proxy_info, | 96 const ProxyInfo& used_proxy_info, |
97 HttpStreamBase* stream); | 97 HttpStreamBase* stream); |
98 | 98 |
99 // HttpStreamRequest methods. | 99 // HttpStreamRequest methods. |
100 | 100 |
101 virtual int RestartTunnelWithProxyAuth( | 101 int RestartTunnelWithProxyAuth(const AuthCredentials& credentials) override; |
102 const AuthCredentials& credentials) override; | 102 void SetPriority(RequestPriority priority) override; |
103 virtual void SetPriority(RequestPriority priority) override; | 103 LoadState GetLoadState() const override; |
104 virtual LoadState GetLoadState() const override; | 104 bool was_npn_negotiated() const override; |
105 virtual bool was_npn_negotiated() const override; | 105 NextProto protocol_negotiated() const override; |
106 virtual NextProto protocol_negotiated() const override; | 106 bool using_spdy() const override; |
107 virtual bool using_spdy() const override; | |
108 | 107 |
109 private: | 108 private: |
110 // Used to orphan all jobs in |jobs_| other than |job| which becomes "bound" | 109 // Used to orphan all jobs in |jobs_| other than |job| which becomes "bound" |
111 // to the request. | 110 // to the request. |
112 void OrphanJobsExcept(Job* job); | 111 void OrphanJobsExcept(Job* job); |
113 | 112 |
114 // Used to orphan all jobs in |jobs_|. | 113 // Used to orphan all jobs in |jobs_|. |
115 void OrphanJobs(); | 114 void OrphanJobs(); |
116 | 115 |
117 // Called when a Job succeeds. | 116 // Called when a Job succeeds. |
(...skipping 16 matching lines...) Expand all Loading... |
134 // Protocol negotiated with the server. | 133 // Protocol negotiated with the server. |
135 NextProto protocol_negotiated_; | 134 NextProto protocol_negotiated_; |
136 bool using_spdy_; | 135 bool using_spdy_; |
137 | 136 |
138 DISALLOW_COPY_AND_ASSIGN(Request); | 137 DISALLOW_COPY_AND_ASSIGN(Request); |
139 }; | 138 }; |
140 | 139 |
141 } // namespace net | 140 } // namespace net |
142 | 141 |
143 #endif // NET_HTTP_HTTP_STREAM_FACTORY_IMPL_REQUEST_H_ | 142 #endif // NET_HTTP_HTTP_STREAM_FACTORY_IMPL_REQUEST_H_ |
OLD | NEW |