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

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

Issue 23856018: Changes to HttpNetworkTransaction for WebSocket Handshake (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Standardised condition for WebSocket handshake. Created 7 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
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 #include "net/http/http_stream_factory_impl.h" 5 #include "net/http/http_stream_factory_impl.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 virtual ~WebSocketBasicHandshakeStream() { 265 virtual ~WebSocketBasicHandshakeStream() {
266 connection_->socket()->Disconnect(); 266 connection_->socket()->Disconnect();
267 } 267 }
268 268
269 ClientSocketHandle* connection() { return connection_.get(); } 269 ClientSocketHandle* connection() { return connection_.get(); }
270 270
271 private: 271 private:
272 scoped_ptr<ClientSocketHandle> connection_; 272 scoped_ptr<ClientSocketHandle> connection_;
273 }; 273 };
274 274
275 class WebSocketStreamFactory : public WebSocketHandshakeStreamBase::Factory { 275 class WebSocketHandshakeStreamFactory
276 : public WebSocketHandshakeStreamBase::Factory {
276 public: 277 public:
277 virtual ~WebSocketStreamFactory() {} 278 virtual ~WebSocketHandshakeStreamFactory() {}
278 279
279 virtual WebSocketHandshakeStreamBase* CreateBasicStream( 280 virtual WebSocketHandshakeStreamBase* CreateBasicStream(
280 ClientSocketHandle* connection, 281 ClientSocketHandle* connection,
281 bool using_proxy) OVERRIDE { 282 bool using_proxy) OVERRIDE {
282 return new WebSocketBasicHandshakeStream(connection); 283 return new WebSocketBasicHandshakeStream(connection);
283 } 284 }
284 285
285 virtual WebSocketHandshakeStreamBase* CreateSpdyStream( 286 virtual WebSocketHandshakeStreamBase* CreateSpdyStream(
286 const base::WeakPtr<SpdySession>& spdy_session, 287 const base::WeakPtr<SpdySession>& spdy_session,
287 bool use_relative_url) OVERRIDE { 288 bool use_relative_url) OVERRIDE {
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
923 SpdySessionDependencies::SpdyCreateSession(&session_deps)); 924 SpdySessionDependencies::SpdyCreateSession(&session_deps));
924 925
925 // Now request a stream. 926 // Now request a stream.
926 HttpRequestInfo request_info; 927 HttpRequestInfo request_info;
927 request_info.method = "GET"; 928 request_info.method = "GET";
928 request_info.url = GURL("ws://www.google.com"); 929 request_info.url = GURL("ws://www.google.com");
929 request_info.load_flags = 0; 930 request_info.load_flags = 0;
930 931
931 SSLConfig ssl_config; 932 SSLConfig ssl_config;
932 StreamRequestWaiter waiter; 933 StreamRequestWaiter waiter;
933 WebSocketStreamFactory factory; 934 WebSocketHandshakeStreamFactory factory;
934 scoped_ptr<HttpStreamRequest> request( 935 scoped_ptr<HttpStreamRequest> request(
935 session->websocket_handshake_stream_factory() 936 session->websocket_handshake_stream_factory()
936 ->RequestWebSocketHandshakeStream(request_info, 937 ->RequestWebSocketHandshakeStream(request_info,
937 DEFAULT_PRIORITY, 938 DEFAULT_PRIORITY,
938 ssl_config, 939 ssl_config,
939 ssl_config, 940 ssl_config,
940 &waiter, 941 &waiter,
941 &factory, 942 &factory,
942 BoundNetLog())); 943 BoundNetLog()));
943 waiter.WaitForStream(); 944 waiter.WaitForStream();
(...skipping 30 matching lines...) Expand all
974 SpdySessionDependencies::SpdyCreateSession(&session_deps)); 975 SpdySessionDependencies::SpdyCreateSession(&session_deps));
975 976
976 // Now request a stream. 977 // Now request a stream.
977 HttpRequestInfo request_info; 978 HttpRequestInfo request_info;
978 request_info.method = "GET"; 979 request_info.method = "GET";
979 request_info.url = GURL("wss://www.google.com"); 980 request_info.url = GURL("wss://www.google.com");
980 request_info.load_flags = 0; 981 request_info.load_flags = 0;
981 982
982 SSLConfig ssl_config; 983 SSLConfig ssl_config;
983 StreamRequestWaiter waiter; 984 StreamRequestWaiter waiter;
984 WebSocketStreamFactory factory; 985 WebSocketHandshakeStreamFactory factory;
985 scoped_ptr<HttpStreamRequest> request( 986 scoped_ptr<HttpStreamRequest> request(
986 session->websocket_handshake_stream_factory() 987 session->websocket_handshake_stream_factory()
987 ->RequestWebSocketHandshakeStream(request_info, 988 ->RequestWebSocketHandshakeStream(request_info,
988 DEFAULT_PRIORITY, 989 DEFAULT_PRIORITY,
989 ssl_config, 990 ssl_config,
990 ssl_config, 991 ssl_config,
991 &waiter, 992 &waiter,
992 &factory, 993 &factory,
993 BoundNetLog())); 994 BoundNetLog()));
994 waiter.WaitForStream(); 995 waiter.WaitForStream();
(...skipping 27 matching lines...) Expand all
1022 SpdySessionDependencies::SpdyCreateSession(&session_deps)); 1023 SpdySessionDependencies::SpdyCreateSession(&session_deps));
1023 1024
1024 // Now request a stream. 1025 // Now request a stream.
1025 HttpRequestInfo request_info; 1026 HttpRequestInfo request_info;
1026 request_info.method = "GET"; 1027 request_info.method = "GET";
1027 request_info.url = GURL("ws://www.google.com"); 1028 request_info.url = GURL("ws://www.google.com");
1028 request_info.load_flags = 0; 1029 request_info.load_flags = 0;
1029 1030
1030 SSLConfig ssl_config; 1031 SSLConfig ssl_config;
1031 StreamRequestWaiter waiter; 1032 StreamRequestWaiter waiter;
1032 WebSocketStreamFactory factory; 1033 WebSocketHandshakeStreamFactory factory;
1033 scoped_ptr<HttpStreamRequest> request( 1034 scoped_ptr<HttpStreamRequest> request(
1034 session->websocket_handshake_stream_factory() 1035 session->websocket_handshake_stream_factory()
1035 ->RequestWebSocketHandshakeStream(request_info, 1036 ->RequestWebSocketHandshakeStream(request_info,
1036 DEFAULT_PRIORITY, 1037 DEFAULT_PRIORITY,
1037 ssl_config, 1038 ssl_config,
1038 ssl_config, 1039 ssl_config,
1039 &waiter, 1040 &waiter,
1040 &factory, 1041 &factory,
1041 BoundNetLog())); 1042 BoundNetLog()));
1042 waiter.WaitForStream(); 1043 waiter.WaitForStream();
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1136 session(SpdySessionDependencies::SpdyCreateSession(&session_deps)); 1137 session(SpdySessionDependencies::SpdyCreateSession(&session_deps));
1137 1138
1138 // Now request a stream. 1139 // Now request a stream.
1139 HttpRequestInfo request_info; 1140 HttpRequestInfo request_info;
1140 request_info.method = "GET"; 1141 request_info.method = "GET";
1141 request_info.url = GURL("wss://www.google.com"); 1142 request_info.url = GURL("wss://www.google.com");
1142 request_info.load_flags = 0; 1143 request_info.load_flags = 0;
1143 1144
1144 SSLConfig ssl_config; 1145 SSLConfig ssl_config;
1145 StreamRequestWaiter waiter1; 1146 StreamRequestWaiter waiter1;
1146 WebSocketStreamFactory factory; 1147 WebSocketHandshakeStreamFactory factory;
1147 scoped_ptr<HttpStreamRequest> request1( 1148 scoped_ptr<HttpStreamRequest> request1(
1148 session->websocket_handshake_stream_factory() 1149 session->websocket_handshake_stream_factory()
1149 ->RequestWebSocketHandshakeStream(request_info, 1150 ->RequestWebSocketHandshakeStream(request_info,
1150 DEFAULT_PRIORITY, 1151 DEFAULT_PRIORITY,
1151 ssl_config, 1152 ssl_config,
1152 ssl_config, 1153 ssl_config,
1153 &waiter1, 1154 &waiter1,
1154 &factory, 1155 &factory,
1155 BoundNetLog())); 1156 BoundNetLog()));
1156 waiter1.WaitForStream(); 1157 waiter1.WaitForStream();
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1226 request_info.url = GURL("ws://www.google.com:8888"); 1227 request_info.url = GURL("ws://www.google.com:8888");
1227 request_info.load_flags = 0; 1228 request_info.load_flags = 0;
1228 1229
1229 session->http_server_properties()->SetAlternateProtocol( 1230 session->http_server_properties()->SetAlternateProtocol(
1230 HostPortPair("www.google.com", 8888), 1231 HostPortPair("www.google.com", 8888),
1231 9999, 1232 9999,
1232 NPN_SPDY_3); 1233 NPN_SPDY_3);
1233 1234
1234 SSLConfig ssl_config; 1235 SSLConfig ssl_config;
1235 StreamRequestWaiter waiter; 1236 StreamRequestWaiter waiter;
1236 WebSocketStreamFactory factory; 1237 WebSocketHandshakeStreamFactory factory;
1237 scoped_ptr<HttpStreamRequest> request( 1238 scoped_ptr<HttpStreamRequest> request(
1238 session->websocket_handshake_stream_factory() 1239 session->websocket_handshake_stream_factory()
1239 ->RequestWebSocketHandshakeStream(request_info, 1240 ->RequestWebSocketHandshakeStream(request_info,
1240 DEFAULT_PRIORITY, 1241 DEFAULT_PRIORITY,
1241 ssl_config, 1242 ssl_config,
1242 ssl_config, 1243 ssl_config,
1243 &waiter, 1244 &waiter,
1244 &factory, 1245 &factory,
1245 BoundNetLog())); 1246 BoundNetLog()));
1246 waiter.WaitForStream(); 1247 waiter.WaitForStream();
(...skipping 17 matching lines...) Expand all
1264 EXPECT_TRUE(waiter.used_proxy_info().is_direct()); 1265 EXPECT_TRUE(waiter.used_proxy_info().is_direct());
1265 1266
1266 // Make sure there is no orphaned job. it is already canceled. 1267 // Make sure there is no orphaned job. it is already canceled.
1267 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>( 1268 ASSERT_EQ(0u, static_cast<HttpStreamFactoryImpl*>(
1268 session->websocket_handshake_stream_factory())->num_orphaned_jobs()); 1269 session->websocket_handshake_stream_factory())->num_orphaned_jobs());
1269 } 1270 }
1270 1271
1271 } // namespace 1272 } // namespace
1272 1273
1273 } // namespace net 1274 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698