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 #include "net/http/http_network_transaction.h" | 5 #include "net/http/http_network_transaction.h" |
6 | 6 |
7 #include <math.h> // ceil | 7 #include <math.h> // ceil |
8 #include <stdarg.h> | 8 #include <stdarg.h> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 2777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2788 session_deps_.proxy_service.reset(ProxyService::CreateFixed( | 2788 session_deps_.proxy_service.reset(ProxyService::CreateFixed( |
2789 "https://proxy:70")); | 2789 "https://proxy:70")); |
2790 CapturingBoundNetLog log; | 2790 CapturingBoundNetLog log; |
2791 session_deps_.net_log = log.bound().net_log(); | 2791 session_deps_.net_log = log.bound().net_log(); |
2792 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 2792 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
2793 | 2793 |
2794 scoped_ptr<HttpTransaction> trans( | 2794 scoped_ptr<HttpTransaction> trans( |
2795 new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); | 2795 new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); |
2796 | 2796 |
2797 // CONNECT to www.google.com:443 via SPDY | 2797 // CONNECT to www.google.com:443 via SPDY |
2798 scoped_ptr<SpdyFrame> connect(ConstructSpdyConnect(NULL, 0, 1)); | 2798 scoped_ptr<SpdyFrame> connect(spdy_util_.ConstructSpdyConnect(NULL, 0, 1)); |
2799 // fetch https://www.google.com/ via HTTP | 2799 // fetch https://www.google.com/ via HTTP |
2800 | 2800 |
2801 const char get[] = "GET / HTTP/1.1\r\n" | 2801 const char get[] = "GET / HTTP/1.1\r\n" |
2802 "Host: www.google.com\r\n" | 2802 "Host: www.google.com\r\n" |
2803 "Connection: keep-alive\r\n\r\n"; | 2803 "Connection: keep-alive\r\n\r\n"; |
2804 scoped_ptr<SpdyFrame> wrapped_get( | 2804 scoped_ptr<SpdyFrame> wrapped_get( |
2805 ConstructSpdyBodyFrame(1, get, strlen(get), false)); | 2805 ConstructSpdyBodyFrame(1, get, strlen(get), false)); |
2806 scoped_ptr<SpdyFrame> conn_resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 2806 scoped_ptr<SpdyFrame> conn_resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
2807 const char resp[] = "HTTP/1.1 200 OK\r\n" | 2807 const char resp[] = "HTTP/1.1 200 OK\r\n" |
2808 "Content-Length: 10\r\n\r\n"; | 2808 "Content-Length: 10\r\n\r\n"; |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2873 session_deps_.proxy_service.reset(ProxyService::CreateFixed( | 2873 session_deps_.proxy_service.reset(ProxyService::CreateFixed( |
2874 "https://proxy:70")); | 2874 "https://proxy:70")); |
2875 CapturingBoundNetLog log; | 2875 CapturingBoundNetLog log; |
2876 session_deps_.net_log = log.bound().net_log(); | 2876 session_deps_.net_log = log.bound().net_log(); |
2877 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 2877 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
2878 | 2878 |
2879 scoped_ptr<HttpTransaction> trans( | 2879 scoped_ptr<HttpTransaction> trans( |
2880 new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); | 2880 new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); |
2881 | 2881 |
2882 // CONNECT to www.google.com:443 via SPDY | 2882 // CONNECT to www.google.com:443 via SPDY |
2883 scoped_ptr<SpdyFrame> connect(ConstructSpdyConnect(NULL, 0, 1)); | 2883 scoped_ptr<SpdyFrame> connect(spdy_util_.ConstructSpdyConnect(NULL, 0, 1)); |
2884 // fetch https://www.google.com/ via SPDY | 2884 // fetch https://www.google.com/ via SPDY |
2885 const char* const kMyUrl = "https://www.google.com/"; | 2885 const char* const kMyUrl = "https://www.google.com/"; |
2886 scoped_ptr<SpdyFrame> get( | 2886 scoped_ptr<SpdyFrame> get( |
2887 spdy_util_.ConstructSpdyGet(kMyUrl, false, 1, LOWEST)); | 2887 spdy_util_.ConstructSpdyGet(kMyUrl, false, 1, LOWEST)); |
2888 scoped_ptr<SpdyFrame> wrapped_get(ConstructWrappedSpdyFrame(get, 1)); | 2888 scoped_ptr<SpdyFrame> wrapped_get(ConstructWrappedSpdyFrame(get, 1)); |
2889 scoped_ptr<SpdyFrame> conn_resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 2889 scoped_ptr<SpdyFrame> conn_resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
2890 scoped_ptr<SpdyFrame> get_resp(ConstructSpdyGetSynReply(NULL, 0, 1)); | 2890 scoped_ptr<SpdyFrame> get_resp(ConstructSpdyGetSynReply(NULL, 0, 1)); |
2891 scoped_ptr<SpdyFrame> wrapped_get_resp( | 2891 scoped_ptr<SpdyFrame> wrapped_get_resp( |
2892 ConstructWrappedSpdyFrame(get_resp, 1)); | 2892 ConstructWrappedSpdyFrame(get_resp, 1)); |
2893 scoped_ptr<SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); | 2893 scoped_ptr<SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2957 session_deps_.proxy_service.reset(ProxyService::CreateFixed( | 2957 session_deps_.proxy_service.reset(ProxyService::CreateFixed( |
2958 "https://proxy:70")); | 2958 "https://proxy:70")); |
2959 CapturingBoundNetLog log; | 2959 CapturingBoundNetLog log; |
2960 session_deps_.net_log = log.bound().net_log(); | 2960 session_deps_.net_log = log.bound().net_log(); |
2961 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 2961 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
2962 | 2962 |
2963 scoped_ptr<HttpTransaction> trans( | 2963 scoped_ptr<HttpTransaction> trans( |
2964 new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); | 2964 new HttpNetworkTransaction(DEFAULT_PRIORITY, session)); |
2965 | 2965 |
2966 // CONNECT to www.google.com:443 via SPDY | 2966 // CONNECT to www.google.com:443 via SPDY |
2967 scoped_ptr<SpdyFrame> connect(ConstructSpdyConnect(NULL, 0, 1)); | 2967 scoped_ptr<SpdyFrame> connect(spdy_util_.ConstructSpdyConnect(NULL, 0, 1)); |
2968 scoped_ptr<SpdyFrame> get( | 2968 scoped_ptr<SpdyFrame> get( |
2969 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); | 2969 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); |
2970 | 2970 |
2971 MockWrite spdy_writes[] = { | 2971 MockWrite spdy_writes[] = { |
2972 CreateMockWrite(*connect, 1), | 2972 CreateMockWrite(*connect, 1), |
2973 CreateMockWrite(*get, 3), | 2973 CreateMockWrite(*get, 3), |
2974 }; | 2974 }; |
2975 | 2975 |
2976 scoped_ptr<SpdyFrame> resp(ConstructSpdySynReplyError(1)); | 2976 scoped_ptr<SpdyFrame> resp(ConstructSpdySynReplyError(1)); |
2977 scoped_ptr<SpdyFrame> data(ConstructSpdyBodyFrame(1, true)); | 2977 scoped_ptr<SpdyFrame> data(ConstructSpdyBodyFrame(1, true)); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3019 request1.method = "GET"; | 3019 request1.method = "GET"; |
3020 request1.url = GURL("https://www.google.com/"); | 3020 request1.url = GURL("https://www.google.com/"); |
3021 request1.load_flags = 0; | 3021 request1.load_flags = 0; |
3022 | 3022 |
3023 HttpRequestInfo request2; | 3023 HttpRequestInfo request2; |
3024 request2.method = "GET"; | 3024 request2.method = "GET"; |
3025 request2.url = GURL("https://news.google.com/"); | 3025 request2.url = GURL("https://news.google.com/"); |
3026 request2.load_flags = 0; | 3026 request2.load_flags = 0; |
3027 | 3027 |
3028 // CONNECT to www.google.com:443 via SPDY. | 3028 // CONNECT to www.google.com:443 via SPDY. |
3029 scoped_ptr<SpdyFrame> connect1(ConstructSpdyConnect(NULL, 0, 1)); | 3029 scoped_ptr<SpdyFrame> connect1(spdy_util_.ConstructSpdyConnect(NULL, 0, 1)); |
3030 scoped_ptr<SpdyFrame> conn_resp1(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3030 scoped_ptr<SpdyFrame> conn_resp1(ConstructSpdyGetSynReply(NULL, 0, 1)); |
3031 | 3031 |
3032 // Fetch https://www.google.com/ via HTTP. | 3032 // Fetch https://www.google.com/ via HTTP. |
3033 const char get1[] = "GET / HTTP/1.1\r\n" | 3033 const char get1[] = "GET / HTTP/1.1\r\n" |
3034 "Host: www.google.com\r\n" | 3034 "Host: www.google.com\r\n" |
3035 "Connection: keep-alive\r\n\r\n"; | 3035 "Connection: keep-alive\r\n\r\n"; |
3036 scoped_ptr<SpdyFrame> wrapped_get1( | 3036 scoped_ptr<SpdyFrame> wrapped_get1( |
3037 ConstructSpdyBodyFrame(1, get1, strlen(get1), false)); | 3037 ConstructSpdyBodyFrame(1, get1, strlen(get1), false)); |
3038 const char resp1[] = "HTTP/1.1 200 OK\r\n" | 3038 const char resp1[] = "HTTP/1.1 200 OK\r\n" |
3039 "Content-Length: 1\r\n\r\n"; | 3039 "Content-Length: 1\r\n\r\n"; |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3174 request1.method = "GET"; | 3174 request1.method = "GET"; |
3175 request1.url = GURL("https://www.google.com/"); | 3175 request1.url = GURL("https://www.google.com/"); |
3176 request1.load_flags = 0; | 3176 request1.load_flags = 0; |
3177 | 3177 |
3178 HttpRequestInfo request2; | 3178 HttpRequestInfo request2; |
3179 request2.method = "GET"; | 3179 request2.method = "GET"; |
3180 request2.url = GURL("https://www.google.com/2"); | 3180 request2.url = GURL("https://www.google.com/2"); |
3181 request2.load_flags = 0; | 3181 request2.load_flags = 0; |
3182 | 3182 |
3183 // CONNECT to www.google.com:443 via SPDY. | 3183 // CONNECT to www.google.com:443 via SPDY. |
3184 scoped_ptr<SpdyFrame> connect1(ConstructSpdyConnect(NULL, 0, 1)); | 3184 scoped_ptr<SpdyFrame> connect1(spdy_util_.ConstructSpdyConnect(NULL, 0, 1)); |
3185 scoped_ptr<SpdyFrame> conn_resp1(ConstructSpdyGetSynReply(NULL, 0, 1)); | 3185 scoped_ptr<SpdyFrame> conn_resp1(ConstructSpdyGetSynReply(NULL, 0, 1)); |
3186 | 3186 |
3187 // Fetch https://www.google.com/ via HTTP. | 3187 // Fetch https://www.google.com/ via HTTP. |
3188 const char get1[] = "GET / HTTP/1.1\r\n" | 3188 const char get1[] = "GET / HTTP/1.1\r\n" |
3189 "Host: www.google.com\r\n" | 3189 "Host: www.google.com\r\n" |
3190 "Connection: keep-alive\r\n\r\n"; | 3190 "Connection: keep-alive\r\n\r\n"; |
3191 scoped_ptr<SpdyFrame> wrapped_get1( | 3191 scoped_ptr<SpdyFrame> wrapped_get1( |
3192 ConstructSpdyBodyFrame(1, get1, strlen(get1), false)); | 3192 ConstructSpdyBodyFrame(1, get1, strlen(get1), false)); |
3193 const char resp1[] = "HTTP/1.1 200 OK\r\n" | 3193 const char resp1[] = "HTTP/1.1 200 OK\r\n" |
3194 "Content-Length: 1\r\n\r\n"; | 3194 "Content-Length: 1\r\n\r\n"; |
(...skipping 2453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5648 // Test an HTTPS (SPDY) Proxy's ability to redirect a CONNECT request | 5648 // Test an HTTPS (SPDY) Proxy's ability to redirect a CONNECT request |
5649 TEST_F(HttpNetworkTransactionSpdy3Test, RedirectOfHttpsConnectViaSpdyProxy) { | 5649 TEST_F(HttpNetworkTransactionSpdy3Test, RedirectOfHttpsConnectViaSpdyProxy) { |
5650 session_deps_.proxy_service.reset( | 5650 session_deps_.proxy_service.reset( |
5651 ProxyService::CreateFixed("https://proxy:70")); | 5651 ProxyService::CreateFixed("https://proxy:70")); |
5652 | 5652 |
5653 HttpRequestInfo request; | 5653 HttpRequestInfo request; |
5654 request.method = "GET"; | 5654 request.method = "GET"; |
5655 request.url = GURL("https://www.google.com/"); | 5655 request.url = GURL("https://www.google.com/"); |
5656 request.load_flags = 0; | 5656 request.load_flags = 0; |
5657 | 5657 |
5658 scoped_ptr<SpdyFrame> conn(ConstructSpdyConnect(NULL, 0, 1)); | 5658 scoped_ptr<SpdyFrame> conn(spdy_util_.ConstructSpdyConnect(NULL, 0, 1)); |
5659 scoped_ptr<SpdyFrame> goaway( | 5659 scoped_ptr<SpdyFrame> goaway( |
5660 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); | 5660 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); |
5661 MockWrite data_writes[] = { | 5661 MockWrite data_writes[] = { |
5662 CreateMockWrite(*conn.get(), 0, SYNCHRONOUS), | 5662 CreateMockWrite(*conn.get(), 0, SYNCHRONOUS), |
5663 }; | 5663 }; |
5664 | 5664 |
5665 static const char* const kExtraHeaders[] = { | 5665 static const char* const kExtraHeaders[] = { |
5666 "location", | 5666 "location", |
5667 "http://login.example.com/", | 5667 "http://login.example.com/", |
5668 }; | 5668 }; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5755 TEST_F(HttpNetworkTransactionSpdy3Test, | 5755 TEST_F(HttpNetworkTransactionSpdy3Test, |
5756 ErrorResponseToHttpsConnectViaSpdyProxy) { | 5756 ErrorResponseToHttpsConnectViaSpdyProxy) { |
5757 session_deps_.proxy_service.reset( | 5757 session_deps_.proxy_service.reset( |
5758 ProxyService::CreateFixed("https://proxy:70")); | 5758 ProxyService::CreateFixed("https://proxy:70")); |
5759 | 5759 |
5760 HttpRequestInfo request; | 5760 HttpRequestInfo request; |
5761 request.method = "GET"; | 5761 request.method = "GET"; |
5762 request.url = GURL("https://www.google.com/"); | 5762 request.url = GURL("https://www.google.com/"); |
5763 request.load_flags = 0; | 5763 request.load_flags = 0; |
5764 | 5764 |
5765 scoped_ptr<SpdyFrame> conn(ConstructSpdyConnect(NULL, 0, 1)); | 5765 scoped_ptr<SpdyFrame> conn(spdy_util_.ConstructSpdyConnect(NULL, 0, 1)); |
5766 scoped_ptr<SpdyFrame> rst( | 5766 scoped_ptr<SpdyFrame> rst( |
5767 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); | 5767 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); |
5768 MockWrite data_writes[] = { | 5768 MockWrite data_writes[] = { |
5769 CreateMockWrite(*conn.get(), 0, SYNCHRONOUS), | 5769 CreateMockWrite(*conn.get(), 0, SYNCHRONOUS), |
5770 CreateMockWrite(*rst.get(), 3, SYNCHRONOUS), | 5770 CreateMockWrite(*rst.get(), 3, SYNCHRONOUS), |
5771 }; | 5771 }; |
5772 | 5772 |
5773 static const char* const kExtraHeaders[] = { | 5773 static const char* const kExtraHeaders[] = { |
5774 "location", | 5774 "location", |
5775 "http://login.example.com/", | 5775 "http://login.example.com/", |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5820 request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; | 5820 request.load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA; |
5821 | 5821 |
5822 // Configure against https proxy server "myproxy:70". | 5822 // Configure against https proxy server "myproxy:70". |
5823 session_deps_.proxy_service.reset( | 5823 session_deps_.proxy_service.reset( |
5824 ProxyService::CreateFixedFromPacResult("HTTPS myproxy:70")); | 5824 ProxyService::CreateFixedFromPacResult("HTTPS myproxy:70")); |
5825 CapturingBoundNetLog log; | 5825 CapturingBoundNetLog log; |
5826 session_deps_.net_log = log.bound().net_log(); | 5826 session_deps_.net_log = log.bound().net_log(); |
5827 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 5827 scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
5828 | 5828 |
5829 // Since we have proxy, should try to establish tunnel. | 5829 // Since we have proxy, should try to establish tunnel. |
5830 scoped_ptr<SpdyFrame> req(ConstructSpdyConnect(NULL, 0, 1)); | 5830 scoped_ptr<SpdyFrame> req(spdy_util_.ConstructSpdyConnect(NULL, 0, 1)); |
5831 scoped_ptr<SpdyFrame> rst( | 5831 scoped_ptr<SpdyFrame> rst( |
5832 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); | 5832 spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_CANCEL)); |
5833 | 5833 |
5834 // After calling trans->RestartWithAuth(), this is the request we should | 5834 // After calling trans->RestartWithAuth(), this is the request we should |
5835 // be issuing -- the final header line contains the credentials. | 5835 // be issuing -- the final header line contains the credentials. |
5836 const char* const kAuthCredentials[] = { | 5836 const char* const kAuthCredentials[] = { |
5837 "proxy-authorization", "Basic Zm9vOmJhcg==", | 5837 "proxy-authorization", "Basic Zm9vOmJhcg==", |
5838 }; | 5838 }; |
5839 scoped_ptr<SpdyFrame> connect2( | 5839 scoped_ptr<SpdyFrame> connect2(spdy_util_.ConstructSpdyConnect( |
5840 ConstructSpdyConnect(kAuthCredentials, arraysize(kAuthCredentials)/2, 3)); | 5840 kAuthCredentials, arraysize(kAuthCredentials) / 2, 3)); |
5841 // fetch https://www.google.com/ via HTTP | 5841 // fetch https://www.google.com/ via HTTP |
5842 const char get[] = "GET / HTTP/1.1\r\n" | 5842 const char get[] = "GET / HTTP/1.1\r\n" |
5843 "Host: www.google.com\r\n" | 5843 "Host: www.google.com\r\n" |
5844 "Connection: keep-alive\r\n\r\n"; | 5844 "Connection: keep-alive\r\n\r\n"; |
5845 scoped_ptr<SpdyFrame> wrapped_get( | 5845 scoped_ptr<SpdyFrame> wrapped_get( |
5846 ConstructSpdyBodyFrame(3, get, strlen(get), false)); | 5846 ConstructSpdyBodyFrame(3, get, strlen(get), false)); |
5847 | 5847 |
5848 MockWrite spdy_writes[] = { | 5848 MockWrite spdy_writes[] = { |
5849 CreateMockWrite(*req, 1, ASYNC), | 5849 CreateMockWrite(*req, 1, ASYNC), |
5850 CreateMockWrite(*rst, 4, ASYNC), | 5850 CreateMockWrite(*rst, 4, ASYNC), |
(...skipping 4948 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10799 | 10799 |
10800 EXPECT_EQ(OK, callback2.WaitForResult()); | 10800 EXPECT_EQ(OK, callback2.WaitForResult()); |
10801 EXPECT_FALSE(trans2.GetResponseInfo()->was_fetched_via_spdy); | 10801 EXPECT_FALSE(trans2.GetResponseInfo()->was_fetched_via_spdy); |
10802 } | 10802 } |
10803 | 10803 |
10804 TEST_F(HttpNetworkTransactionSpdy3Test, DoNotUseSpdySessionForHttpOverTunnel) { | 10804 TEST_F(HttpNetworkTransactionSpdy3Test, DoNotUseSpdySessionForHttpOverTunnel) { |
10805 const std::string https_url = "https://www.google.com/"; | 10805 const std::string https_url = "https://www.google.com/"; |
10806 const std::string httpUrl = "http://www.google.com:443/"; | 10806 const std::string httpUrl = "http://www.google.com:443/"; |
10807 | 10807 |
10808 // SPDY GET for HTTPS URL (through CONNECT tunnel) | 10808 // SPDY GET for HTTPS URL (through CONNECT tunnel) |
10809 scoped_ptr<SpdyFrame> connect(ConstructSpdyConnect(NULL, 0, 1)); | 10809 scoped_ptr<SpdyFrame> connect(spdy_util_.ConstructSpdyConnect(NULL, 0, 1)); |
10810 scoped_ptr<SpdyFrame> req1( | 10810 scoped_ptr<SpdyFrame> req1( |
10811 spdy_util_.ConstructSpdyGet(https_url.c_str(), false, 1, LOWEST)); | 10811 spdy_util_.ConstructSpdyGet(https_url.c_str(), false, 1, LOWEST)); |
10812 | 10812 |
10813 scoped_ptr<SpdyFrame> wrapped_req1(ConstructWrappedSpdyFrame(req1, 1)); | 10813 scoped_ptr<SpdyFrame> wrapped_req1(ConstructWrappedSpdyFrame(req1, 1)); |
10814 // SPDY GET for HTTP URL (through the proxy, but not the tunnel) | 10814 // SPDY GET for HTTP URL (through the proxy, but not the tunnel) |
10815 scoped_ptr<SpdyFrame> req2( | 10815 scoped_ptr<SpdyFrame> req2( |
10816 spdy_util_.ConstructSpdyGet(httpUrl.c_str(), false, 3, MEDIUM)); | 10816 spdy_util_.ConstructSpdyGet(httpUrl.c_str(), false, 3, MEDIUM)); |
10817 | 10817 |
10818 MockWrite writes1[] = { | 10818 MockWrite writes1[] = { |
10819 CreateMockWrite(*connect, 0), | 10819 CreateMockWrite(*connect, 0), |
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11330 EXPECT_EQ("hello!", response_data); | 11330 EXPECT_EQ("hello!", response_data); |
11331 EXPECT_FALSE( | 11331 EXPECT_FALSE( |
11332 session->spdy_session_pool()->HasSession(spdy_session_key_a)); | 11332 session->spdy_session_pool()->HasSession(spdy_session_key_a)); |
11333 EXPECT_FALSE( | 11333 EXPECT_FALSE( |
11334 session->spdy_session_pool()->HasSession(spdy_session_key_b)); | 11334 session->spdy_session_pool()->HasSession(spdy_session_key_b)); |
11335 | 11335 |
11336 HttpStreamFactory::SetNextProtos(std::vector<std::string>()); | 11336 HttpStreamFactory::SetNextProtos(std::vector<std::string>()); |
11337 } | 11337 } |
11338 | 11338 |
11339 } // namespace net | 11339 } // namespace net |
OLD | NEW |