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

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

Issue 2227503003: Add net log to UploadDataStream. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: typo Created 4 years, 4 months 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
« no previous file with comments | « net/http/http_network_transaction.cc ('k') | net/log/net_log_event_type_list.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_parser.h" 5 #include "net/http/http_stream_parser.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 public: 72 public:
73 enum class FailureMode { SYNC, ASYNC }; 73 enum class FailureMode { SYNC, ASYNC };
74 74
75 explicit ReadErrorUploadDataStream(FailureMode mode) 75 explicit ReadErrorUploadDataStream(FailureMode mode)
76 : UploadDataStream(true, 0), async_(mode), weak_factory_(this) {} 76 : UploadDataStream(true, 0), async_(mode), weak_factory_(this) {}
77 77
78 private: 78 private:
79 void CompleteRead() { UploadDataStream::OnReadCompleted(ERR_FAILED); } 79 void CompleteRead() { UploadDataStream::OnReadCompleted(ERR_FAILED); }
80 80
81 // UploadDataStream implementation: 81 // UploadDataStream implementation:
82 int InitInternal() override { return OK; } 82 int InitInternal(const BoundNetLog& net_log) override { return OK; }
83 83
84 int ReadInternal(IOBuffer* buf, int buf_len) override { 84 int ReadInternal(IOBuffer* buf, int buf_len) override {
85 if (async_ == FailureMode::ASYNC) { 85 if (async_ == FailureMode::ASYNC) {
86 base::ThreadTaskRunnerHandle::Get()->PostTask( 86 base::ThreadTaskRunnerHandle::Get()->PostTask(
87 FROM_HERE, base::Bind(&ReadErrorUploadDataStream::CompleteRead, 87 FROM_HERE, base::Bind(&ReadErrorUploadDataStream::CompleteRead,
88 weak_factory_.GetWeakPtr())); 88 weak_factory_.GetWeakPtr()));
89 return ERR_IO_PENDING; 89 return ERR_IO_PENDING;
90 } 90 }
91 return ERR_FAILED; 91 return ERR_FAILED;
92 } 92 }
(...skipping 12 matching lines...) Expand all
105 MockWrite(SYNCHRONOUS, 0, "POST / HTTP/1.1\r\n"), 105 MockWrite(SYNCHRONOUS, 0, "POST / HTTP/1.1\r\n"),
106 MockWrite(SYNCHRONOUS, 1, "Content-Length: 12\r\n\r\n"), 106 MockWrite(SYNCHRONOUS, 1, "Content-Length: 12\r\n\r\n"),
107 }; 107 };
108 108
109 SequencedSocketData data(nullptr, 0, writes, arraysize(writes)); 109 SequencedSocketData data(nullptr, 0, writes, arraysize(writes));
110 std::unique_ptr<ClientSocketHandle> socket_handle = 110 std::unique_ptr<ClientSocketHandle> socket_handle =
111 CreateConnectedSocketHandle(&data); 111 CreateConnectedSocketHandle(&data);
112 112
113 ReadErrorUploadDataStream upload_data_stream( 113 ReadErrorUploadDataStream upload_data_stream(
114 ReadErrorUploadDataStream::FailureMode::SYNC); 114 ReadErrorUploadDataStream::FailureMode::SYNC);
115 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback()), 115 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback(),
116 BoundNetLog()),
116 IsOk()); 117 IsOk());
117 118
118 HttpRequestInfo request; 119 HttpRequestInfo request;
119 request.method = "POST"; 120 request.method = "POST";
120 request.url = GURL("http://localhost"); 121 request.url = GURL("http://localhost");
121 request.upload_data_stream = &upload_data_stream; 122 request.upload_data_stream = &upload_data_stream;
122 123
123 scoped_refptr<GrowableIOBuffer> read_buffer(new GrowableIOBuffer); 124 scoped_refptr<GrowableIOBuffer> read_buffer(new GrowableIOBuffer);
124 HttpStreamParser parser(socket_handle.get(), &request, read_buffer.get(), 125 HttpStreamParser parser(socket_handle.get(), &request, read_buffer.get(),
125 BoundNetLog()); 126 BoundNetLog());
(...skipping 15 matching lines...) Expand all
141 MockWrite(ASYNC, 0, "POST / HTTP/1.1\r\n"), 142 MockWrite(ASYNC, 0, "POST / HTTP/1.1\r\n"),
142 MockWrite(ASYNC, 1, "Content-Length: 12\r\n\r\n"), 143 MockWrite(ASYNC, 1, "Content-Length: 12\r\n\r\n"),
143 }; 144 };
144 145
145 SequencedSocketData data(nullptr, 0, writes, arraysize(writes)); 146 SequencedSocketData data(nullptr, 0, writes, arraysize(writes));
146 std::unique_ptr<ClientSocketHandle> socket_handle = 147 std::unique_ptr<ClientSocketHandle> socket_handle =
147 CreateConnectedSocketHandle(&data); 148 CreateConnectedSocketHandle(&data);
148 149
149 ReadErrorUploadDataStream upload_data_stream( 150 ReadErrorUploadDataStream upload_data_stream(
150 ReadErrorUploadDataStream::FailureMode::ASYNC); 151 ReadErrorUploadDataStream::FailureMode::ASYNC);
151 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback()), 152 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback(),
153 BoundNetLog()),
152 IsOk()); 154 IsOk());
153 155
154 HttpRequestInfo request; 156 HttpRequestInfo request;
155 request.method = "POST"; 157 request.method = "POST";
156 request.url = GURL("http://localhost"); 158 request.url = GURL("http://localhost");
157 request.upload_data_stream = &upload_data_stream; 159 request.upload_data_stream = &upload_data_stream;
158 160
159 scoped_refptr<GrowableIOBuffer> read_buffer(new GrowableIOBuffer); 161 scoped_refptr<GrowableIOBuffer> read_buffer(new GrowableIOBuffer);
160 HttpStreamParser parser(socket_handle.get(), &request, read_buffer.get(), 162 HttpStreamParser parser(socket_handle.get(), &request, read_buffer.get(),
161 BoundNetLog()); 163 BoundNetLog());
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_NoBody) { 236 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_NoBody) {
235 // Shouldn't be merged if upload data is non-existent. 237 // Shouldn't be merged if upload data is non-existent.
236 ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( 238 ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
237 "some header", NULL)); 239 "some header", NULL));
238 } 240 }
239 241
240 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_EmptyBody) { 242 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_EmptyBody) {
241 std::vector<std::unique_ptr<UploadElementReader>> element_readers; 243 std::vector<std::unique_ptr<UploadElementReader>> element_readers;
242 std::unique_ptr<UploadDataStream> body(base::WrapUnique( 244 std::unique_ptr<UploadDataStream> body(base::WrapUnique(
243 new ElementsUploadDataStream(std::move(element_readers), 0))); 245 new ElementsUploadDataStream(std::move(element_readers), 0)));
244 ASSERT_THAT(body->Init(CompletionCallback()), IsOk()); 246 ASSERT_THAT(body->Init(CompletionCallback(), BoundNetLog()), IsOk());
245 // Shouldn't be merged if upload data is empty. 247 // Shouldn't be merged if upload data is empty.
246 ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( 248 ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
247 "some header", body.get())); 249 "some header", body.get()));
248 } 250 }
249 251
250 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_ChunkedBody) { 252 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_ChunkedBody) {
251 const std::string payload = "123"; 253 const std::string payload = "123";
252 std::unique_ptr<ChunkedUploadDataStream> body(new ChunkedUploadDataStream(0)); 254 std::unique_ptr<ChunkedUploadDataStream> body(new ChunkedUploadDataStream(0));
253 body->AppendData(payload.data(), payload.size(), true); 255 body->AppendData(payload.data(), payload.size(), true);
254 ASSERT_THAT(body->Init(TestCompletionCallback().callback()), IsOk()); 256 ASSERT_THAT(body->Init(TestCompletionCallback().callback(), BoundNetLog()),
257 IsOk());
255 // Shouldn't be merged if upload data carries chunked data. 258 // Shouldn't be merged if upload data carries chunked data.
256 ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( 259 ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
257 "some header", body.get())); 260 "some header", body.get()));
258 } 261 }
259 262
260 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_FileBody) { 263 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_FileBody) {
261 // Create an empty temporary file. 264 // Create an empty temporary file.
262 base::ScopedTempDir temp_dir; 265 base::ScopedTempDir temp_dir;
263 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 266 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
264 base::FilePath temp_file_path; 267 base::FilePath temp_file_path;
265 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir.path(), &temp_file_path)); 268 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir.path(), &temp_file_path));
266 269
267 { 270 {
268 std::vector<std::unique_ptr<UploadElementReader>> element_readers; 271 std::vector<std::unique_ptr<UploadElementReader>> element_readers;
269 272
270 element_readers.push_back(base::WrapUnique( 273 element_readers.push_back(base::WrapUnique(
271 new UploadFileElementReader(base::ThreadTaskRunnerHandle::Get().get(), 274 new UploadFileElementReader(base::ThreadTaskRunnerHandle::Get().get(),
272 temp_file_path, 0, 0, base::Time()))); 275 temp_file_path, 0, 0, base::Time())));
273 276
274 std::unique_ptr<UploadDataStream> body( 277 std::unique_ptr<UploadDataStream> body(
275 new ElementsUploadDataStream(std::move(element_readers), 0)); 278 new ElementsUploadDataStream(std::move(element_readers), 0));
276 TestCompletionCallback callback; 279 TestCompletionCallback callback;
277 ASSERT_THAT(body->Init(callback.callback()), IsError(ERR_IO_PENDING)); 280 ASSERT_THAT(body->Init(callback.callback(), BoundNetLog()),
281 IsError(ERR_IO_PENDING));
278 ASSERT_THAT(callback.WaitForResult(), IsOk()); 282 ASSERT_THAT(callback.WaitForResult(), IsOk());
279 // Shouldn't be merged if upload data carries a file, as it's not in-memory. 283 // Shouldn't be merged if upload data carries a file, as it's not in-memory.
280 ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( 284 ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
281 "some header", body.get())); 285 "some header", body.get()));
282 } 286 }
283 287
284 // UploadFileElementReaders may post clean-up tasks on destruction. 288 // UploadFileElementReaders may post clean-up tasks on destruction.
285 base::RunLoop().RunUntilIdle(); 289 base::RunLoop().RunUntilIdle();
286 } 290 }
287 291
288 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_SmallBodyInMemory) { 292 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_SmallBodyInMemory) {
289 std::vector<std::unique_ptr<UploadElementReader>> element_readers; 293 std::vector<std::unique_ptr<UploadElementReader>> element_readers;
290 const std::string payload = "123"; 294 const std::string payload = "123";
291 element_readers.push_back(base::WrapUnique( 295 element_readers.push_back(base::WrapUnique(
292 new UploadBytesElementReader(payload.data(), payload.size()))); 296 new UploadBytesElementReader(payload.data(), payload.size())));
293 297
294 std::unique_ptr<UploadDataStream> body( 298 std::unique_ptr<UploadDataStream> body(
295 new ElementsUploadDataStream(std::move(element_readers), 0)); 299 new ElementsUploadDataStream(std::move(element_readers), 0));
296 ASSERT_THAT(body->Init(CompletionCallback()), IsOk()); 300 ASSERT_THAT(body->Init(CompletionCallback(), BoundNetLog()), IsOk());
297 // Yes, should be merged if the in-memory body is small here. 301 // Yes, should be merged if the in-memory body is small here.
298 ASSERT_TRUE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( 302 ASSERT_TRUE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
299 "some header", body.get())); 303 "some header", body.get()));
300 } 304 }
301 305
302 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_LargeBodyInMemory) { 306 TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_LargeBodyInMemory) {
303 std::vector<std::unique_ptr<UploadElementReader>> element_readers; 307 std::vector<std::unique_ptr<UploadElementReader>> element_readers;
304 const std::string payload(10000, 'a'); // 'a' x 10000. 308 const std::string payload(10000, 'a'); // 'a' x 10000.
305 element_readers.push_back(base::WrapUnique( 309 element_readers.push_back(base::WrapUnique(
306 new UploadBytesElementReader(payload.data(), payload.size()))); 310 new UploadBytesElementReader(payload.data(), payload.size())));
307 311
308 std::unique_ptr<UploadDataStream> body( 312 std::unique_ptr<UploadDataStream> body(
309 new ElementsUploadDataStream(std::move(element_readers), 0)); 313 new ElementsUploadDataStream(std::move(element_readers), 0));
310 ASSERT_THAT(body->Init(CompletionCallback()), IsOk()); 314 ASSERT_THAT(body->Init(CompletionCallback(), BoundNetLog()), IsOk());
311 // Shouldn't be merged if the in-memory body is large here. 315 // Shouldn't be merged if the in-memory body is large here.
312 ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( 316 ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody(
313 "some header", body.get())); 317 "some header", body.get()));
314 } 318 }
315 319
316 TEST(HttpStreamParser, SentBytesNoHeaders) { 320 TEST(HttpStreamParser, SentBytesNoHeaders) {
317 MockWrite writes[] = { 321 MockWrite writes[] = {
318 MockWrite(SYNCHRONOUS, 0, "GET / HTTP/1.1\r\n\r\n"), 322 MockWrite(SYNCHRONOUS, 0, "GET / HTTP/1.1\r\n\r\n"),
319 }; 323 };
320 324
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 }; 446 };
443 447
444 SequencedSocketData data(nullptr, 0, writes, arraysize(writes)); 448 SequencedSocketData data(nullptr, 0, writes, arraysize(writes));
445 std::unique_ptr<ClientSocketHandle> socket_handle = 449 std::unique_ptr<ClientSocketHandle> socket_handle =
446 CreateConnectedSocketHandle(&data); 450 CreateConnectedSocketHandle(&data);
447 451
448 std::vector<std::unique_ptr<UploadElementReader>> element_readers; 452 std::vector<std::unique_ptr<UploadElementReader>> element_readers;
449 element_readers.push_back( 453 element_readers.push_back(
450 base::WrapUnique(new UploadBytesElementReader("hello world!", 12))); 454 base::WrapUnique(new UploadBytesElementReader("hello world!", 12)));
451 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); 455 ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0);
452 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback()), 456 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback(),
457 BoundNetLog()),
453 IsOk()); 458 IsOk());
454 459
455 HttpRequestInfo request; 460 HttpRequestInfo request;
456 request.method = "POST"; 461 request.method = "POST";
457 request.url = GURL("http://localhost"); 462 request.url = GURL("http://localhost");
458 request.upload_data_stream = &upload_data_stream; 463 request.upload_data_stream = &upload_data_stream;
459 464
460 scoped_refptr<GrowableIOBuffer> read_buffer(new GrowableIOBuffer); 465 scoped_refptr<GrowableIOBuffer> read_buffer(new GrowableIOBuffer);
461 HttpStreamParser parser(socket_handle.get(), &request, read_buffer.get(), 466 HttpStreamParser parser(socket_handle.get(), &request, read_buffer.get(),
462 BoundNetLog()); 467 BoundNetLog());
(...skipping 17 matching lines...) Expand all
480 MockWrite(ASYNC, 1, "Transfer-Encoding: chunked\r\n\r\n"), 485 MockWrite(ASYNC, 1, "Transfer-Encoding: chunked\r\n\r\n"),
481 MockWrite(ASYNC, 2, "7\r\nChunk 1\r\n"), 486 MockWrite(ASYNC, 2, "7\r\nChunk 1\r\n"),
482 MockWrite(SYNCHRONOUS, ERR_FAILED, 3), 487 MockWrite(SYNCHRONOUS, ERR_FAILED, 3),
483 }; 488 };
484 489
485 SequencedSocketData data(nullptr, 0, writes, arraysize(writes)); 490 SequencedSocketData data(nullptr, 0, writes, arraysize(writes));
486 std::unique_ptr<ClientSocketHandle> socket_handle = 491 std::unique_ptr<ClientSocketHandle> socket_handle =
487 CreateConnectedSocketHandle(&data); 492 CreateConnectedSocketHandle(&data);
488 493
489 ChunkedUploadDataStream upload_data_stream(0); 494 ChunkedUploadDataStream upload_data_stream(0);
490 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback()), 495 ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback(),
496 BoundNetLog()),
491 IsOk()); 497 IsOk());
492 498
493 HttpRequestInfo request; 499 HttpRequestInfo request;
494 request.method = "POST"; 500 request.method = "POST";
495 request.url = GURL("http://localhost"); 501 request.url = GURL("http://localhost");
496 request.upload_data_stream = &upload_data_stream; 502 request.upload_data_stream = &upload_data_stream;
497 503
498 scoped_refptr<GrowableIOBuffer> read_buffer(new GrowableIOBuffer); 504 scoped_refptr<GrowableIOBuffer> read_buffer(new GrowableIOBuffer);
499 HttpStreamParser parser(socket_handle.get(), &request, read_buffer.get(), 505 HttpStreamParser parser(socket_handle.get(), &request, read_buffer.get(),
500 BoundNetLog()); 506 BoundNetLog());
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 static const int kBodySize = 8; 543 static const int kBodySize = 8;
538 544
539 MockRead reads[] = { 545 MockRead reads[] = {
540 MockRead(ASYNC, 3, "HTTP/1.1 200 OK\r\n"), 546 MockRead(ASYNC, 3, "HTTP/1.1 200 OK\r\n"),
541 MockRead(ASYNC, 4, "Content-Length: 8\r\n\r\n"), 547 MockRead(ASYNC, 4, "Content-Length: 8\r\n\r\n"),
542 MockRead(ASYNC, 5, "one.html"), 548 MockRead(ASYNC, 5, "one.html"),
543 MockRead(SYNCHRONOUS, 0, 6), // EOF 549 MockRead(SYNCHRONOUS, 0, 6), // EOF
544 }; 550 };
545 551
546 ChunkedUploadDataStream upload_stream(0); 552 ChunkedUploadDataStream upload_stream(0);
547 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 553 ASSERT_THAT(
554 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
555 IsOk());
548 556
549 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 557 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
550 std::unique_ptr<ClientSocketHandle> socket_handle = 558 std::unique_ptr<ClientSocketHandle> socket_handle =
551 CreateConnectedSocketHandle(&data); 559 CreateConnectedSocketHandle(&data);
552 560
553 HttpRequestInfo request_info; 561 HttpRequestInfo request_info;
554 request_info.method = "GET"; 562 request_info.method = "GET";
555 request_info.url = GURL("http://localhost"); 563 request_info.url = GURL("http://localhost");
556 request_info.upload_data_stream = &upload_stream; 564 request_info.upload_data_stream = &upload_stream;
557 565
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 static const int kBodySize = 8; 621 static const int kBodySize = 8;
614 622
615 MockRead reads[] = { 623 MockRead reads[] = {
616 MockRead(ASYNC, 3, "HTTP/1.1 200 OK\r\n"), 624 MockRead(ASYNC, 3, "HTTP/1.1 200 OK\r\n"),
617 MockRead(ASYNC, 4, "Content-Length: 8\r\n\r\n"), 625 MockRead(ASYNC, 4, "Content-Length: 8\r\n\r\n"),
618 MockRead(ASYNC, 5, "one.html"), 626 MockRead(ASYNC, 5, "one.html"),
619 MockRead(SYNCHRONOUS, 0, 6), // EOF 627 MockRead(SYNCHRONOUS, 0, 6), // EOF
620 }; 628 };
621 629
622 ChunkedUploadDataStream upload_stream(0); 630 ChunkedUploadDataStream upload_stream(0);
623 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 631 ASSERT_THAT(
632 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
633 IsOk());
624 // Append the only chunk. 634 // Append the only chunk.
625 upload_stream.AppendData(kChunk, arraysize(kChunk) - 1, true); 635 upload_stream.AppendData(kChunk, arraysize(kChunk) - 1, true);
626 636
627 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 637 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
628 std::unique_ptr<ClientSocketHandle> socket_handle = 638 std::unique_ptr<ClientSocketHandle> socket_handle =
629 CreateConnectedSocketHandle(&data); 639 CreateConnectedSocketHandle(&data);
630 640
631 HttpRequestInfo request_info; 641 HttpRequestInfo request_info;
632 request_info.method = "GET"; 642 request_info.method = "GET";
633 request_info.url = GURL("http://localhost"); 643 request_info.url = GURL("http://localhost");
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 703
694 MockRead reads[] = { 704 MockRead reads[] = {
695 MockRead(ASYNC, 5, "HTTP/1.1 200 OK\r\n"), 705 MockRead(ASYNC, 5, "HTTP/1.1 200 OK\r\n"),
696 MockRead(ASYNC, 6, "Content-Length: 8\r\n\r\n"), 706 MockRead(ASYNC, 6, "Content-Length: 8\r\n\r\n"),
697 MockRead(ASYNC, 7, "one.html"), 707 MockRead(ASYNC, 7, "one.html"),
698 MockRead(SYNCHRONOUS, 0, 8), // EOF 708 MockRead(SYNCHRONOUS, 0, 8), // EOF
699 }; 709 };
700 710
701 ChunkedUploadDataStream upload_stream(0); 711 ChunkedUploadDataStream upload_stream(0);
702 upload_stream.AppendData(kChunk1, arraysize(kChunk1) - 1, false); 712 upload_stream.AppendData(kChunk1, arraysize(kChunk1) - 1, false);
703 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 713 ASSERT_THAT(
714 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
715 IsOk());
704 716
705 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 717 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
706 std::unique_ptr<ClientSocketHandle> socket_handle = 718 std::unique_ptr<ClientSocketHandle> socket_handle =
707 CreateConnectedSocketHandle(&data); 719 CreateConnectedSocketHandle(&data);
708 720
709 HttpRequestInfo request_info; 721 HttpRequestInfo request_info;
710 request_info.method = "GET"; 722 request_info.method = "GET";
711 request_info.url = GURL("http://localhost"); 723 request_info.url = GURL("http://localhost");
712 request_info.upload_data_stream = &upload_stream; 724 request_info.upload_data_stream = &upload_stream;
713 725
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
775 const int kBodySize = 8; 787 const int kBodySize = 8;
776 788
777 MockRead reads[] = { 789 MockRead reads[] = {
778 MockRead(ASYNC, 2, "HTTP/1.1 200 OK\r\n"), 790 MockRead(ASYNC, 2, "HTTP/1.1 200 OK\r\n"),
779 MockRead(ASYNC, 3, "Content-Length: 8\r\n\r\n"), 791 MockRead(ASYNC, 3, "Content-Length: 8\r\n\r\n"),
780 MockRead(ASYNC, 4, "one.html"), 792 MockRead(ASYNC, 4, "one.html"),
781 MockRead(SYNCHRONOUS, 0, 5), // EOF 793 MockRead(SYNCHRONOUS, 0, 5), // EOF
782 }; 794 };
783 795
784 ChunkedUploadDataStream upload_stream(0); 796 ChunkedUploadDataStream upload_stream(0);
785 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 797 ASSERT_THAT(
798 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
799 IsOk());
786 800
787 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 801 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
788 std::unique_ptr<ClientSocketHandle> socket_handle = 802 std::unique_ptr<ClientSocketHandle> socket_handle =
789 CreateConnectedSocketHandle(&data); 803 CreateConnectedSocketHandle(&data);
790 804
791 HttpRequestInfo request_info; 805 HttpRequestInfo request_info;
792 request_info.method = "GET"; 806 request_info.method = "GET";
793 request_info.url = GURL("http://localhost"); 807 request_info.url = GURL("http://localhost");
794 request_info.upload_data_stream = &upload_stream; 808 request_info.upload_data_stream = &upload_stream;
795 809
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 const int kBodySize = 8; 860 const int kBodySize = 8;
847 861
848 MockRead reads[] = { 862 MockRead reads[] = {
849 MockRead(ASYNC, 2, "HTTP/1.1 200 OK\r\n"), 863 MockRead(ASYNC, 2, "HTTP/1.1 200 OK\r\n"),
850 MockRead(ASYNC, 3, "Content-Length: 8\r\n\r\n"), 864 MockRead(ASYNC, 3, "Content-Length: 8\r\n\r\n"),
851 MockRead(ASYNC, 4, "one.html"), 865 MockRead(ASYNC, 4, "one.html"),
852 MockRead(SYNCHRONOUS, 0, 5), // EOF 866 MockRead(SYNCHRONOUS, 0, 5), // EOF
853 }; 867 };
854 868
855 ChunkedUploadDataStream upload_stream(0); 869 ChunkedUploadDataStream upload_stream(0);
856 ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); 870 ASSERT_THAT(
871 upload_stream.Init(TestCompletionCallback().callback(), BoundNetLog()),
872 IsOk());
857 // Append final empty chunk. 873 // Append final empty chunk.
858 upload_stream.AppendData(nullptr, 0, true); 874 upload_stream.AppendData(nullptr, 0, true);
859 875
860 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); 876 SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes));
861 std::unique_ptr<ClientSocketHandle> socket_handle = 877 std::unique_ptr<ClientSocketHandle> socket_handle =
862 CreateConnectedSocketHandle(&data); 878 CreateConnectedSocketHandle(&data);
863 879
864 HttpRequestInfo request_info; 880 HttpRequestInfo request_info;
865 request_info.method = "GET"; 881 request_info.method = "GET";
866 request_info.url = GURL("http://localhost"); 882 request_info.url = GURL("http://localhost");
(...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after
1423 ASSERT_EQ(kBodySize, parser.ReadResponseBody( 1439 ASSERT_EQ(kBodySize, parser.ReadResponseBody(
1424 body_buffer.get(), kBodySize, callback.callback())); 1440 body_buffer.get(), kBodySize, callback.callback()));
1425 1441
1426 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), parser.sent_bytes()); 1442 EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), parser.sent_bytes());
1427 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), parser.received_bytes()); 1443 EXPECT_EQ(CountReadBytes(reads, arraysize(reads)), parser.received_bytes());
1428 } 1444 }
1429 1445
1430 } // namespace 1446 } // namespace
1431 1447
1432 } // namespace net 1448 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_network_transaction.cc ('k') | net/log/net_log_event_type_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698