OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 1187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1198 element_readers.push_back( | 1198 element_readers.push_back( |
1199 base::WrapUnique(new UploadBytesElementReader("foo", 3))); | 1199 base::WrapUnique(new UploadBytesElementReader("foo", 3))); |
1200 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); | 1200 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
1201 | 1201 |
1202 HttpRequestInfo request; | 1202 HttpRequestInfo request; |
1203 request.method = "POST"; | 1203 request.method = "POST"; |
1204 request.url = GURL("http://www.foo.com/"); | 1204 request.url = GURL("http://www.foo.com/"); |
1205 request.upload_data_stream = &upload_data_stream; | 1205 request.upload_data_stream = &upload_data_stream; |
1206 request.load_flags = 0; | 1206 request.load_flags = 0; |
1207 | 1207 |
| 1208 // Check the upload progress returned before initialization is correct. |
| 1209 UploadProgress progress = request.upload_data_stream->GetUploadProgress(); |
| 1210 EXPECT_EQ(0u, progress.size()); |
| 1211 EXPECT_EQ(0u, progress.position()); |
| 1212 |
1208 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); | 1213 std::unique_ptr<HttpNetworkSession> session(CreateSession(&session_deps_)); |
1209 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); | 1214 HttpNetworkTransaction trans(DEFAULT_PRIORITY, session.get()); |
1210 | 1215 |
1211 MockRead data_reads[] = { | 1216 MockRead data_reads[] = { |
1212 MockRead("HTTP/1.0 100 Continue\r\n\r\n"), | 1217 MockRead("HTTP/1.0 100 Continue\r\n\r\n"), |
1213 MockRead("HTTP/1.0 200 OK\r\n\r\n"), | 1218 MockRead("HTTP/1.0 200 OK\r\n\r\n"), |
1214 MockRead("hello world"), | 1219 MockRead("hello world"), |
1215 MockRead(SYNCHRONOUS, OK), | 1220 MockRead(SYNCHRONOUS, OK), |
1216 }; | 1221 }; |
1217 StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); | 1222 StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0); |
(...skipping 12975 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14193 ADD_FAILURE(); | 14198 ADD_FAILURE(); |
14194 return ERR_NOT_IMPLEMENTED; | 14199 return ERR_NOT_IMPLEMENTED; |
14195 } | 14200 } |
14196 | 14201 |
14197 void Drain(HttpNetworkSession* session) override { ADD_FAILURE(); } | 14202 void Drain(HttpNetworkSession* session) override { ADD_FAILURE(); } |
14198 | 14203 |
14199 void PopulateNetErrorDetails(NetErrorDetails* details) override { return; } | 14204 void PopulateNetErrorDetails(NetErrorDetails* details) override { return; } |
14200 | 14205 |
14201 void SetPriority(RequestPriority priority) override { priority_ = priority; } | 14206 void SetPriority(RequestPriority priority) override { priority_ = priority; } |
14202 | 14207 |
14203 UploadProgress GetUploadProgress() const override { return UploadProgress(); } | |
14204 | |
14205 HttpStream* RenewStreamForAuth() override { return NULL; } | 14208 HttpStream* RenewStreamForAuth() override { return NULL; } |
14206 | 14209 |
14207 private: | 14210 private: |
14208 RequestPriority priority_; | 14211 RequestPriority priority_; |
14209 | 14212 |
14210 DISALLOW_COPY_AND_ASSIGN(FakeStream); | 14213 DISALLOW_COPY_AND_ASSIGN(FakeStream); |
14211 }; | 14214 }; |
14212 | 14215 |
14213 // Fake HttpStreamRequest that simply records calls to SetPriority() | 14216 // Fake HttpStreamRequest that simply records calls to SetPriority() |
14214 // and vends FakeStreams with its current priority. | 14217 // and vends FakeStreams with its current priority. |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14429 ADD_FAILURE(); | 14432 ADD_FAILURE(); |
14430 return ERR_NOT_IMPLEMENTED; | 14433 return ERR_NOT_IMPLEMENTED; |
14431 } | 14434 } |
14432 | 14435 |
14433 void Drain(HttpNetworkSession* session) override { NOTREACHED(); } | 14436 void Drain(HttpNetworkSession* session) override { NOTREACHED(); } |
14434 | 14437 |
14435 void PopulateNetErrorDetails(NetErrorDetails* details) override { return; } | 14438 void PopulateNetErrorDetails(NetErrorDetails* details) override { return; } |
14436 | 14439 |
14437 void SetPriority(RequestPriority priority) override { NOTREACHED(); } | 14440 void SetPriority(RequestPriority priority) override { NOTREACHED(); } |
14438 | 14441 |
14439 UploadProgress GetUploadProgress() const override { | |
14440 NOTREACHED(); | |
14441 return UploadProgress(); | |
14442 } | |
14443 | |
14444 HttpStream* RenewStreamForAuth() override { | 14442 HttpStream* RenewStreamForAuth() override { |
14445 NOTREACHED(); | 14443 NOTREACHED(); |
14446 return nullptr; | 14444 return nullptr; |
14447 } | 14445 } |
14448 | 14446 |
14449 // Fake implementation of WebSocketHandshakeStreamBase method(s) | 14447 // Fake implementation of WebSocketHandshakeStreamBase method(s) |
14450 std::unique_ptr<WebSocketStream> Upgrade() override { | 14448 std::unique_ptr<WebSocketStream> Upgrade() override { |
14451 NOTREACHED(); | 14449 NOTREACHED(); |
14452 return std::unique_ptr<WebSocketStream>(); | 14450 return std::unique_ptr<WebSocketStream>(); |
14453 } | 14451 } |
(...skipping 1121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15575 base::RunLoop().RunUntilIdle(); | 15573 base::RunLoop().RunUntilIdle(); |
15576 | 15574 |
15577 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy); | 15575 EXPECT_TRUE(trans.GetResponseInfo()->was_fetched_via_spdy); |
15578 HttpRequestHeaders headers; | 15576 HttpRequestHeaders headers; |
15579 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers)); | 15577 ASSERT_TRUE(trans.GetFullRequestHeaders(&headers)); |
15580 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding)); | 15578 EXPECT_TRUE(headers.HasHeader(HttpRequestHeaders::kTokenBinding)); |
15581 } | 15579 } |
15582 #endif // !defined(OS_IOS) | 15580 #endif // !defined(OS_IOS) |
15583 | 15581 |
15584 } // namespace net | 15582 } // namespace net |
OLD | NEW |