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

Side by Side Diff: net/spdy/spdy_websocket_test_util.cc

Issue 723343002: Update from https://crrev.com/304121 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 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
« no previous file with comments | « net/spdy/spdy_websocket_test_util.h ('k') | net/ssl/ssl_cipher_suite_names.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "net/spdy/spdy_websocket_test_util.h"
6
7 #include "net/spdy/buffered_spdy_framer.h"
8 #include "net/spdy/spdy_http_utils.h"
9
10 namespace net {
11
12 const bool kDefaultCompressed = false;
13
14 SpdyWebSocketTestUtil::SpdyWebSocketTestUtil(
15 NextProto protocol) : spdy_util_(protocol) {}
16
17 std::string SpdyWebSocketTestUtil::GetHeader(const SpdyHeaderBlock& headers,
18 const std::string& key) const {
19 SpdyHeaderBlock::const_iterator it = headers.find(GetHeaderKey(key));
20 return (it == headers.end()) ? "" : it->second;
21 }
22
23 void SpdyWebSocketTestUtil::SetHeader(
24 const std::string& key,
25 const std::string& value,
26 SpdyHeaderBlock* headers) const {
27 (*headers)[GetHeaderKey(key)] = value;
28 }
29
30 SpdyFrame* SpdyWebSocketTestUtil::ConstructSpdyWebSocketSynStream(
31 int stream_id,
32 const char* path,
33 const char* host,
34 const char* origin) {
35 scoped_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock());
36 SetHeader("path", path, headers.get());
37 SetHeader("host", host, headers.get());
38 SetHeader("version", "WebSocket/13", headers.get());
39 SetHeader("scheme", "ws", headers.get());
40 SetHeader("origin", origin, headers.get());
41 return spdy_util_.ConstructSpdySyn(
42 stream_id, *headers, HIGHEST, false, false);
43 }
44
45 SpdyFrame* SpdyWebSocketTestUtil::ConstructSpdyWebSocketSynReply(
46 int stream_id) {
47 SpdyHeaderBlock block;
48 SetHeader("status", "101", &block);
49 return spdy_util_.ConstructSpdyReply(stream_id, block);
50 }
51
52 SpdyFrame* SpdyWebSocketTestUtil::ConstructSpdyWebSocketHandshakeRequestFrame(
53 scoped_ptr<SpdyHeaderBlock> headers,
54 SpdyStreamId stream_id,
55 RequestPriority request_priority) {
56 return spdy_util_.ConstructSpdySyn(
57 stream_id, *headers, request_priority, kDefaultCompressed, false);
58 }
59
60 SpdyFrame* SpdyWebSocketTestUtil::ConstructSpdyWebSocketHandshakeResponseFrame(
61 scoped_ptr<SpdyHeaderBlock> headers,
62 SpdyStreamId stream_id,
63 RequestPriority request_priority) {
64 return spdy_util_.ConstructSpdyReply(stream_id, *headers);
65 }
66
67 SpdyFrame* SpdyWebSocketTestUtil::ConstructSpdyWebSocketHeadersFrame(
68 int stream_id,
69 const char* length,
70 bool fin) {
71 scoped_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock());
72 SetHeader("opcode", "1", headers.get()); // text frame
73 SetHeader("length", length, headers.get());
74 SetHeader("fin", fin ? "1" : "0", headers.get());
75 return spdy_util_.ConstructSpdySyn(stream_id, *headers, LOWEST, false, false);
76 }
77
78 SpdyFrame* SpdyWebSocketTestUtil::ConstructSpdyWebSocketDataFrame(
79 const char* data,
80 int len,
81 SpdyStreamId stream_id,
82 bool fin) {
83
84 // Construct SPDY data frame.
85 BufferedSpdyFramer framer(spdy_util_.spdy_version(), false);
86 return framer.CreateDataFrame(
87 stream_id,
88 data,
89 len,
90 fin ? DATA_FLAG_FIN : DATA_FLAG_NONE);
91 }
92
93 SpdyFrame* SpdyWebSocketTestUtil::ConstructSpdySettings(
94 const SettingsMap& settings) const {
95 return spdy_util_.ConstructSpdySettings(settings);
96 }
97
98 SpdyFrame* SpdyWebSocketTestUtil::ConstructSpdySettingsAck() const {
99 return spdy_util_.ConstructSpdySettingsAck();
100 }
101
102 SpdyMajorVersion SpdyWebSocketTestUtil::spdy_version() const {
103 return spdy_util_.spdy_version();
104 }
105
106 std::string SpdyWebSocketTestUtil::GetHeaderKey(
107 const std::string& key) const {
108 return (spdy_util_.is_spdy2() ? "" : ":") + key;
109 }
110
111 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_websocket_test_util.h ('k') | net/ssl/ssl_cipher_suite_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698