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/spdy/spdy_test_util_spdy3.h" | 5 #include "net/spdy/spdy_test_util_spdy3.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 scoped_array<char> scheme(new char[str_scheme.size() + 1]); | 366 scoped_array<char> scheme(new char[str_scheme.size() + 1]); |
367 scoped_array<char> host(new char[str_host.size() + 1]); | 367 scoped_array<char> host(new char[str_host.size() + 1]); |
368 memcpy(req.get(), str_path.c_str(), str_path.size()); | 368 memcpy(req.get(), str_path.c_str(), str_path.size()); |
369 memcpy(scheme.get(), str_scheme.c_str(), str_scheme.size()); | 369 memcpy(scheme.get(), str_scheme.c_str(), str_scheme.size()); |
370 memcpy(host.get(), str_host.c_str(), str_host.size()); | 370 memcpy(host.get(), str_host.c_str(), str_host.size()); |
371 req.get()[str_path.size()] = '\0'; | 371 req.get()[str_path.size()] = '\0'; |
372 scheme.get()[str_scheme.size()] = '\0'; | 372 scheme.get()[str_scheme.size()] = '\0'; |
373 host.get()[str_host.size()] = '\0'; | 373 host.get()[str_host.size()] = '\0'; |
374 | 374 |
375 const char* const headers[] = { | 375 const char* const headers[] = { |
376 "method", | 376 ":method", |
377 "GET", | 377 "GET", |
378 "url", | 378 ":path", |
379 req.get(), | 379 req.get(), |
380 "host", | 380 ":host", |
381 host.get(), | 381 host.get(), |
382 "scheme", | 382 ":scheme", |
383 scheme.get(), | 383 scheme.get(), |
384 "version", | 384 ":version", |
385 "HTTP/1.1" | 385 "HTTP/1.1" |
386 }; | 386 }; |
387 return ConstructSpdyPacket( | 387 return ConstructSpdyPacket( |
388 kSynStartHeader, | 388 kSynStartHeader, |
389 NULL, | 389 NULL, |
390 0, | 390 0, |
391 headers, | 391 headers, |
392 arraysize(headers) / 2); | 392 arraysize(headers) / 2); |
393 } | 393 } |
394 | 394 |
(...skipping 14 matching lines...) Expand all Loading... |
409 // |extra_headers| are the extra header-value pairs, which typically | 409 // |extra_headers| are the extra header-value pairs, which typically |
410 // will vary the most between calls. | 410 // will vary the most between calls. |
411 // Returns a SpdyFrame. | 411 // Returns a SpdyFrame. |
412 spdy::SpdyFrame* ConstructSpdyGet(const char* const extra_headers[], | 412 spdy::SpdyFrame* ConstructSpdyGet(const char* const extra_headers[], |
413 int extra_header_count, | 413 int extra_header_count, |
414 bool compressed, | 414 bool compressed, |
415 int stream_id, | 415 int stream_id, |
416 RequestPriority request_priority, | 416 RequestPriority request_priority, |
417 bool direct) { | 417 bool direct) { |
418 const char* const kStandardGetHeaders[] = { | 418 const char* const kStandardGetHeaders[] = { |
419 "method", | 419 ":method", |
420 "GET", | 420 "GET", |
421 "url", | 421 ":host", |
422 (direct ? "/" : "http://www.google.com/"), | |
423 "host", | |
424 "www.google.com", | 422 "www.google.com", |
425 "scheme", | 423 ":scheme", |
426 "http", | 424 "http", |
427 "version", | 425 ":version", |
428 "HTTP/1.1" | 426 "HTTP/1.1", |
| 427 ":path", |
| 428 (direct ? "/" : "/") |
429 }; | 429 }; |
430 return ConstructSpdyControlFrame(extra_headers, | 430 return ConstructSpdyControlFrame(extra_headers, |
431 extra_header_count, | 431 extra_header_count, |
432 compressed, | 432 compressed, |
433 stream_id, | 433 stream_id, |
434 request_priority, | 434 request_priority, |
435 spdy::SYN_STREAM, | 435 spdy::SYN_STREAM, |
436 spdy::CONTROL_FLAG_FIN, | 436 spdy::CONTROL_FLAG_FIN, |
437 kStandardGetHeaders, | 437 kStandardGetHeaders, |
438 arraysize(kStandardGetHeaders)); | 438 arraysize(kStandardGetHeaders)); |
439 } | 439 } |
440 | 440 |
441 // Constructs a standard SPDY SYN_STREAM frame for a CONNECT request. | 441 // Constructs a standard SPDY SYN_STREAM frame for a CONNECT request. |
442 spdy::SpdyFrame* ConstructSpdyConnect(const char* const extra_headers[], | 442 spdy::SpdyFrame* ConstructSpdyConnect(const char* const extra_headers[], |
443 int extra_header_count, | 443 int extra_header_count, |
444 int stream_id) { | 444 int stream_id) { |
445 const char* const kConnectHeaders[] = { | 445 const char* const kConnectHeaders[] = { |
446 "method", "CONNECT", | 446 ":method", "CONNECT", |
447 "url", "www.google.com:443", | 447 ":path", "www.google.com:443", |
448 "host", "www.google.com", | 448 ":host", "www.google.com", |
449 "version", "HTTP/1.1", | 449 ":version", "HTTP/1.1", |
450 }; | 450 }; |
451 return ConstructSpdyControlFrame(extra_headers, | 451 return ConstructSpdyControlFrame(extra_headers, |
452 extra_header_count, | 452 extra_header_count, |
453 /*compressed*/ false, | 453 /*compressed*/ false, |
454 stream_id, | 454 stream_id, |
455 LOWEST, | 455 LOWEST, |
456 spdy::SYN_STREAM, | 456 spdy::SYN_STREAM, |
457 spdy::CONTROL_FLAG_NONE, | 457 spdy::CONTROL_FLAG_NONE, |
458 kConnectHeaders, | 458 kConnectHeaders, |
459 arraysize(kConnectHeaders)); | 459 arraysize(kConnectHeaders)); |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
662 // Constructs a standard SPDY POST SYN packet. | 662 // Constructs a standard SPDY POST SYN packet. |
663 // |content_length| is the size of post data. | 663 // |content_length| is the size of post data. |
664 // |extra_headers| are the extra header-value pairs, which typically | 664 // |extra_headers| are the extra header-value pairs, which typically |
665 // will vary the most between calls. | 665 // will vary the most between calls. |
666 // Returns a SpdyFrame. | 666 // Returns a SpdyFrame. |
667 spdy::SpdyFrame* ConstructSpdyPost(int64 content_length, | 667 spdy::SpdyFrame* ConstructSpdyPost(int64 content_length, |
668 const char* const extra_headers[], | 668 const char* const extra_headers[], |
669 int extra_header_count) { | 669 int extra_header_count) { |
670 std::string length_str = base::Int64ToString(content_length); | 670 std::string length_str = base::Int64ToString(content_length); |
671 const char* post_headers[] = { | 671 const char* post_headers[] = { |
672 "method", | 672 ":method", |
673 "POST", | 673 "POST", |
674 "url", | 674 ":path", |
675 "/", | 675 "/", |
676 "host", | 676 ":host", |
677 "www.google.com", | 677 "www.google.com", |
678 "scheme", | 678 ":scheme", |
679 "http", | 679 "http", |
680 "version", | 680 ":version", |
681 "HTTP/1.1", | 681 "HTTP/1.1", |
682 "content-length", | 682 "content-length", |
683 length_str.c_str() | 683 length_str.c_str() |
684 }; | 684 }; |
685 return ConstructSpdyControlFrame(extra_headers, | 685 return ConstructSpdyControlFrame(extra_headers, |
686 extra_header_count, | 686 extra_header_count, |
687 false, | 687 false, |
688 1, | 688 1, |
689 LOWEST, | 689 LOWEST, |
690 spdy::SYN_STREAM, | 690 spdy::SYN_STREAM, |
691 spdy::CONTROL_FLAG_NONE, | 691 spdy::CONTROL_FLAG_NONE, |
692 post_headers, | 692 post_headers, |
693 arraysize(post_headers)); | 693 arraysize(post_headers)); |
694 } | 694 } |
695 | 695 |
696 // Constructs a chunked transfer SPDY POST SYN packet. | 696 // Constructs a chunked transfer SPDY POST SYN packet. |
697 // |extra_headers| are the extra header-value pairs, which typically | 697 // |extra_headers| are the extra header-value pairs, which typically |
698 // will vary the most between calls. | 698 // will vary the most between calls. |
699 // Returns a SpdyFrame. | 699 // Returns a SpdyFrame. |
700 spdy::SpdyFrame* ConstructChunkedSpdyPost(const char* const extra_headers[], | 700 spdy::SpdyFrame* ConstructChunkedSpdyPost(const char* const extra_headers[], |
701 int extra_header_count) { | 701 int extra_header_count) { |
702 const char* post_headers[] = { | 702 const char* post_headers[] = { |
703 "method", | 703 ":method", |
704 "POST", | 704 "POST", |
705 "url", | 705 ":path", |
706 "/", | 706 "/", |
707 "host", | 707 ":host", |
708 "www.google.com", | 708 "www.google.com", |
709 "scheme", | 709 ":scheme", |
710 "http", | 710 "http", |
711 "version", | 711 ":version", |
712 "HTTP/1.1" | 712 "HTTP/1.1" |
713 }; | 713 }; |
714 return ConstructSpdyControlFrame(extra_headers, | 714 return ConstructSpdyControlFrame(extra_headers, |
715 extra_header_count, | 715 extra_header_count, |
716 false, | 716 false, |
717 1, | 717 1, |
718 LOWEST, | 718 LOWEST, |
719 spdy::SYN_STREAM, | 719 spdy::SYN_STREAM, |
720 spdy::CONTROL_FLAG_NONE, | 720 spdy::CONTROL_FLAG_NONE, |
721 post_headers, | 721 post_headers, |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1003 NULL, // Data | 1003 NULL, // Data |
1004 0, // Length | 1004 0, // Length |
1005 spdy::DATA_FLAG_NONE // Data Flags | 1005 spdy::DATA_FLAG_NONE // Data Flags |
1006 }; | 1006 }; |
1007 return kHeader; | 1007 return kHeader; |
1008 } | 1008 } |
1009 | 1009 |
1010 } // namespace test_spdy3 | 1010 } // namespace test_spdy3 |
1011 | 1011 |
1012 } // namespace net | 1012 } // namespace net |
OLD | NEW |