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

Side by Side Diff: net/spdy/spdy_test_util_spdy2.h

Issue 10810069: SPDY: Add WriteHeaders interface to SpdySession and SpdyStream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: spdy3 Created 8 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 | Annotate | Revision Log
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 #ifndef NET_SPDY_SPDY_TEST_UTIL_H_ 5 #ifndef NET_SPDY_SPDY_TEST_UTIL_H_
6 #define NET_SPDY_SPDY_TEST_UTIL_H_ 6 #define NET_SPDY_SPDY_TEST_UTIL_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "net/base/cert_verifier.h" 9 #include "net/base/cert_verifier.h"
10 #include "net/base/host_port_pair.h" 10 #include "net/base/host_port_pair.h"
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 110
111 // Construct a SPDY packet. 111 // Construct a SPDY packet.
112 // |head| is the start of the packet, up to but not including 112 // |head| is the start of the packet, up to but not including
113 // the header value pairs. 113 // the header value pairs.
114 // |extra_headers| are the extra header-value pairs, which typically 114 // |extra_headers| are the extra header-value pairs, which typically
115 // will vary the most between calls. 115 // will vary the most between calls.
116 // |tail| is any (relatively constant) header-value pairs to add. 116 // |tail| is any (relatively constant) header-value pairs to add.
117 // |buffer| is the buffer we're filling in. 117 // |buffer| is the buffer we're filling in.
118 // Returns a SpdyFrame. 118 // Returns a SpdyFrame.
119 SpdyFrame* ConstructSpdyPacket(const SpdyHeaderInfo& header_info, 119 SpdyFrame* ConstructSpdyPacket(const SpdyHeaderInfo& header_info,
120 const char* const extra_headers[], 120 const char* const extra_headers[],
Ryan Hamilton 2012/08/02 16:32:23 THanks for all the whitespace cleanups!
121 int extra_header_count, 121 int extra_header_count,
122 const char* const tail[], 122 const char* const tail[],
123 int tail_header_count); 123 int tail_header_count);
124 124
125 // Construct a generic SpdyControlFrame. 125 // Construct a generic SpdyControlFrame.
126 SpdyFrame* ConstructSpdyControlFrame(const char* const extra_headers[], 126 SpdyFrame* ConstructSpdyControlFrame(const char* const extra_headers[],
127 int extra_header_count, 127 int extra_header_count,
128 bool compressed, 128 bool compressed,
129 int stream_id, 129 int stream_id,
130 RequestPriority request_priority, 130 RequestPriority request_priority,
131 SpdyControlType type, 131 SpdyControlType type,
132 SpdyControlFlags flags, 132 SpdyControlFlags flags,
133 const char* const* kHeaders, 133 const char* const* kHeaders,
134 int kHeadersSize); 134 int kHeadersSize);
135 SpdyFrame* ConstructSpdyControlFrame(const char* const extra_headers[], 135 SpdyFrame* ConstructSpdyControlFrame(const char* const extra_headers[],
136 int extra_header_count, 136 int extra_header_count,
137 bool compressed, 137 bool compressed,
138 int stream_id, 138 int stream_id,
139 RequestPriority request_priority, 139 RequestPriority request_priority,
140 SpdyControlType type, 140 SpdyControlType type,
141 SpdyControlFlags flags, 141 SpdyControlFlags flags,
142 const char* const* kHeaders, 142 const char* const* kHeaders,
143 int kHeadersSize, 143 int kHeadersSize,
144 int associated_stream_id); 144 int associated_stream_id);
145 145
146 // Construct an expected SPDY reply string. 146 // Construct an expected SPDY reply string.
147 // |extra_headers| are the extra header-value pairs, which typically 147 // |extra_headers| are the extra header-value pairs, which typically
148 // will vary the most between calls. 148 // will vary the most between calls.
149 // |buffer| is the buffer we're filling in. 149 // |buffer| is the buffer we're filling in.
150 // Returns the number of bytes written into |buffer|. 150 // Returns the number of bytes written into |buffer|.
151 int ConstructSpdyReplyString(const char* const extra_headers[], 151 int ConstructSpdyReplyString(const char* const extra_headers[],
152 int extra_header_count, 152 int extra_header_count,
153 char* buffer, 153 char* buffer,
154 int buffer_length); 154 int buffer_length);
155 155
156 // Construct an expected SPDY SETTINGS frame. 156 // Construct an expected SPDY SETTINGS frame.
157 // |settings| are the settings to set. 157 // |settings| are the settings to set.
158 // Returns the constructed frame. The caller takes ownership of the frame. 158 // Returns the constructed frame. The caller takes ownership of the frame.
159 SpdyFrame* ConstructSpdySettings(const SettingsMap& settings); 159 SpdyFrame* ConstructSpdySettings(const SettingsMap& settings);
160 160
161 // Construct an expected SPDY CREDENTIAL frame. 161 // Construct an expected SPDY CREDENTIAL frame.
162 // |credential| is the credential to send. 162 // |credential| is the credential to send.
163 // Returns the constructed frame. The caller takes ownership of the frame. 163 // Returns the constructed frame. The caller takes ownership of the frame.
164 SpdyFrame* ConstructSpdyCredential( 164 SpdyFrame* ConstructSpdyCredential(const SpdyCredential& credential);
165 const SpdyCredential& credential);
166 165
167 // Construct a SPDY PING frame. 166 // Construct a SPDY PING frame.
168 // Returns the constructed frame. The caller takes ownership of the frame. 167 // Returns the constructed frame. The caller takes ownership of the frame.
169 SpdyFrame* ConstructSpdyPing(); 168 SpdyFrame* ConstructSpdyPing();
170 169
171 // Construct a SPDY GOAWAY frame. 170 // Construct a SPDY GOAWAY frame.
172 // Returns the constructed frame. The caller takes ownership of the frame. 171 // Returns the constructed frame. The caller takes ownership of the frame.
173 SpdyFrame* ConstructSpdyGoAway(); 172 SpdyFrame* ConstructSpdyGoAway();
174 173
175 // Construct a SPDY WINDOW_UPDATE frame. 174 // Construct a SPDY WINDOW_UPDATE frame.
176 // Returns the constructed frame. The caller takes ownership of the frame. 175 // Returns the constructed frame. The caller takes ownership of the frame.
177 SpdyFrame* ConstructSpdyWindowUpdate(SpdyStreamId, 176 SpdyFrame* ConstructSpdyWindowUpdate(SpdyStreamId, uint32 delta_window_size);
178 uint32 delta_window_size);
179 177
180 // Construct a SPDY RST_STREAM frame. 178 // Construct a SPDY RST_STREAM frame.
181 // Returns the constructed frame. The caller takes ownership of the frame. 179 // Returns the constructed frame. The caller takes ownership of the frame.
182 SpdyFrame* ConstructSpdyRstStream(SpdyStreamId stream_id, 180 SpdyFrame* ConstructSpdyRstStream(SpdyStreamId stream_id,
183 SpdyStatusCodes status); 181 SpdyStatusCodes status);
184 182
185 // Construct a single SPDY header entry, for validation. 183 // Construct a single SPDY header entry, for validation.
186 // |extra_headers| are the extra header-value pairs. 184 // |extra_headers| are the extra header-value pairs.
187 // |buffer| is the buffer we're filling in. 185 // |buffer| is the buffer we're filling in.
188 // |index| is the index of the header we want. 186 // |index| is the index of the header we want.
189 // Returns the number of bytes written into |buffer|. 187 // Returns the number of bytes written into |buffer|.
190 int ConstructSpdyHeader(const char* const extra_headers[], 188 int ConstructSpdyHeader(const char* const extra_headers[],
191 int extra_header_count, 189 int extra_header_count,
192 char* buffer, 190 char* buffer,
193 int buffer_length, 191 int buffer_length,
194 int index); 192 int index);
195 193
196 // Constructs a standard SPDY GET SYN packet, optionally compressed 194 // Constructs a standard SPDY GET SYN packet, optionally compressed
197 // for the url |url|. 195 // for the url |url|.
198 // |extra_headers| are the extra header-value pairs, which typically 196 // |extra_headers| are the extra header-value pairs, which typically
199 // will vary the most between calls. 197 // will vary the most between calls.
200 // Returns a SpdyFrame. 198 // Returns a SpdyFrame.
201 SpdyFrame* ConstructSpdyGet(const char* const url, 199 SpdyFrame* ConstructSpdyGet(const char* const url,
202 bool compressed, 200 bool compressed,
203 int stream_id, 201 int stream_id,
204 RequestPriority request_priority); 202 RequestPriority request_priority);
205 203
206 // Constructs a standard SPDY GET SYN packet, optionally compressed. 204 // Constructs a standard SPDY GET SYN packet, optionally compressed.
207 // |extra_headers| are the extra header-value pairs, which typically 205 // |extra_headers| are the extra header-value pairs, which typically
208 // will vary the most between calls. 206 // will vary the most between calls.
209 // Returns a SpdyFrame. 207 // Returns a SpdyFrame.
210 SpdyFrame* ConstructSpdyGet(const char* const extra_headers[], 208 SpdyFrame* ConstructSpdyGet(const char* const extra_headers[],
211 int extra_header_count, 209 int extra_header_count,
212 bool compressed, 210 bool compressed,
213 int stream_id, 211 int stream_id,
214 RequestPriority request_priority); 212 RequestPriority request_priority);
215 213
216 // Constructs a standard SPDY GET SYN packet, optionally compressed. 214 // Constructs a standard SPDY GET SYN packet, optionally compressed.
217 // |extra_headers| are the extra header-value pairs, which typically 215 // |extra_headers| are the extra header-value pairs, which typically
218 // will vary the most between calls. If |direct| is false, the 216 // will vary the most between calls. If |direct| is false, the
219 // the full url will be used instead of simply the path. 217 // the full url will be used instead of simply the path.
220 // Returns a SpdyFrame. 218 // Returns a SpdyFrame.
221 SpdyFrame* ConstructSpdyGet(const char* const extra_headers[], 219 SpdyFrame* ConstructSpdyGet(const char* const extra_headers[],
222 int extra_header_count, 220 int extra_header_count,
223 bool compressed, 221 bool compressed,
224 int stream_id, 222 int stream_id,
225 RequestPriority request_priority, 223 RequestPriority request_priority,
226 bool direct); 224 bool direct);
227 225
228 // Constructs a standard SPDY SYN_STREAM frame for a CONNECT request. 226 // Constructs a standard SPDY SYN_STREAM frame for a CONNECT request.
229 SpdyFrame* ConstructSpdyConnect(const char* const extra_headers[], 227 SpdyFrame* ConstructSpdyConnect(const char* const extra_headers[],
230 int extra_header_count, 228 int extra_header_count,
231 int stream_id); 229 int stream_id);
230
231 // Constructs a standard SPDY SYN_STREAM frame for WebSocket over SPDY
232 // opening handshake.
233 SpdyFrame* ConstructSpdyWebSocket(int stream_id,
234 const char* path,
235 const char* host,
236 const char* origin);
232 237
233 // Constructs a standard SPDY push SYN packet. 238 // Constructs a standard SPDY push SYN packet.
234 // |extra_headers| are the extra header-value pairs, which typically 239 // |extra_headers| are the extra header-value pairs, which typically
235 // will vary the most between calls. 240 // will vary the most between calls.
236 // Returns a SpdyFrame. 241 // Returns a SpdyFrame.
237 SpdyFrame* ConstructSpdyPush(const char* const extra_headers[], 242 SpdyFrame* ConstructSpdyPush(const char* const extra_headers[],
238 int extra_header_count, 243 int extra_header_count,
239 int stream_id, 244 int stream_id,
240 int associated_stream_id); 245 int associated_stream_id);
241 SpdyFrame* ConstructSpdyPush(const char* const extra_headers[], 246 SpdyFrame* ConstructSpdyPush(const char* const extra_headers[],
242 int extra_header_count, 247 int extra_header_count,
243 int stream_id, 248 int stream_id,
244 int associated_stream_id, 249 int associated_stream_id,
245 const char* url); 250 const char* url);
246 SpdyFrame* ConstructSpdyPush(const char* const extra_headers[], 251 SpdyFrame* ConstructSpdyPush(const char* const extra_headers[],
247 int extra_header_count, 252 int extra_header_count,
248 int stream_id, 253 int stream_id,
249 int associated_stream_id, 254 int associated_stream_id,
250 const char* url, 255 const char* url,
251 const char* status, 256 const char* status,
252 const char* location); 257 const char* location);
253 SpdyFrame* ConstructSpdyPush(int stream_id, 258 SpdyFrame* ConstructSpdyPush(int stream_id,
254 int associated_stream_id, 259 int associated_stream_id,
255 const char* url); 260 const char* url);
256 261
257 SpdyFrame* ConstructSpdyPushHeaders(int stream_id, 262 SpdyFrame* ConstructSpdyPushHeaders(int stream_id,
258 const char* const extra_headers[], 263 const char* const extra_headers[],
259 int extra_header_count); 264 int extra_header_count);
260 265
261 // Constructs a standard SPDY SYN_REPLY packet to match the SPDY GET. 266 // Constructs a standard SPDY SYN_REPLY packet to match the SPDY GET.
262 // |extra_headers| are the extra header-value pairs, which typically 267 // |extra_headers| are the extra header-value pairs, which typically
263 // will vary the most between calls. 268 // will vary the most between calls.
264 // Returns a SpdyFrame. 269 // Returns a SpdyFrame.
265 SpdyFrame* ConstructSpdyGetSynReply(const char* const extra_headers[], 270 SpdyFrame* ConstructSpdyGetSynReply(const char* const extra_headers[],
266 int extra_header_count, 271 int extra_header_count,
267 int stream_id); 272 int stream_id);
268 273
269 // Constructs a standard SPDY SYN_REPLY packet to match the SPDY GET. 274 // Constructs a standard SPDY SYN_REPLY packet to match the SPDY GET.
270 // |extra_headers| are the extra header-value pairs, which typically 275 // |extra_headers| are the extra header-value pairs, which typically
271 // will vary the most between calls. 276 // will vary the most between calls.
272 // Returns a SpdyFrame. 277 // Returns a SpdyFrame.
273 SpdyFrame* ConstructSpdyGetSynReplyRedirect(int stream_id); 278 SpdyFrame* ConstructSpdyGetSynReplyRedirect(int stream_id);
274 279
280 // Constructs a standard SPDY SYN_REPLY packet to match the WebSocket over SPDY
281 // opening handshake.
282 // Returns a SpdyFrame.
283 SpdyFrame* ConstructSpdyWebSocketSynReply(int stream_id);
284
275 // Constructs a standard SPDY SYN_REPLY packet with an Internal Server 285 // Constructs a standard SPDY SYN_REPLY packet with an Internal Server
276 // Error status code. 286 // Error status code.
277 // Returns a SpdyFrame. 287 // Returns a SpdyFrame.
278 SpdyFrame* ConstructSpdySynReplyError(int stream_id); 288 SpdyFrame* ConstructSpdySynReplyError(int stream_id);
279 289
280 // Constructs a standard SPDY SYN_REPLY packet with the specified status code. 290 // Constructs a standard SPDY SYN_REPLY packet with the specified status code.
281 // Returns a SpdyFrame. 291 // Returns a SpdyFrame.
282 SpdyFrame* ConstructSpdySynReplyError( 292 SpdyFrame* ConstructSpdySynReplyError(const char* const status,
283 const char* const status, 293 const char* const* const extra_headers,
284 const char* const* const extra_headers, 294 int extra_header_count,
285 int extra_header_count, 295 int stream_id);
286 int stream_id);
287 296
288 // Constructs a standard SPDY POST SYN packet. 297 // Constructs a standard SPDY POST SYN packet.
289 // |extra_headers| are the extra header-value pairs, which typically 298 // |extra_headers| are the extra header-value pairs, which typically
290 // will vary the most between calls. 299 // will vary the most between calls.
291 // Returns a SpdyFrame. 300 // Returns a SpdyFrame.
292 SpdyFrame* ConstructSpdyPost(int64 content_length, 301 SpdyFrame* ConstructSpdyPost(int64 content_length,
293 const char* const extra_headers[], 302 const char* const extra_headers[],
294 int extra_header_count); 303 int extra_header_count);
295 304
296 // Constructs a chunked transfer SPDY POST SYN packet. 305 // Constructs a chunked transfer SPDY POST SYN packet.
297 // |extra_headers| are the extra header-value pairs, which typically 306 // |extra_headers| are the extra header-value pairs, which typically
298 // will vary the most between calls. 307 // will vary the most between calls.
299 // Returns a SpdyFrame. 308 // Returns a SpdyFrame.
300 SpdyFrame* ConstructChunkedSpdyPost(const char* const extra_headers[], 309 SpdyFrame* ConstructChunkedSpdyPost(const char* const extra_headers[],
301 int extra_header_count); 310 int extra_header_count);
302 311
303 // Constructs a standard SPDY SYN_REPLY packet to match the SPDY POST. 312 // Constructs a standard SPDY SYN_REPLY packet to match the SPDY POST.
304 // |extra_headers| are the extra header-value pairs, which typically 313 // |extra_headers| are the extra header-value pairs, which typically
305 // will vary the most between calls. 314 // will vary the most between calls.
306 // Returns a SpdyFrame. 315 // Returns a SpdyFrame.
307 SpdyFrame* ConstructSpdyPostSynReply(const char* const extra_headers[], 316 SpdyFrame* ConstructSpdyPostSynReply(const char* const extra_headers[],
308 int extra_header_count); 317 int extra_header_count);
309 318
310 // Constructs a single SPDY data frame with the contents "hello!" 319 // Constructs a single SPDY data frame with the contents "hello!"
311 SpdyFrame* ConstructSpdyBodyFrame(int stream_id, 320 SpdyFrame* ConstructSpdyBodyFrame(int stream_id,
312 bool fin); 321 bool fin);
313 322
314 // Constructs a single SPDY data frame with the given content. 323 // Constructs a single SPDY data frame with the given content.
315 SpdyFrame* ConstructSpdyBodyFrame(int stream_id, const char* data, 324 SpdyFrame* ConstructSpdyBodyFrame(int stream_id, const char* data,
316 uint32 len, bool fin); 325 uint32 len, bool fin);
326
327 // Constructs a SPDY HEADERS frame for a WebSocket frame over SPDY.
328 SpdyFrame* ConstructSpdyWebSocketHeadersFrame(int stream_id,
329 const char* length,
330 bool fin);
317 331
318 // Wraps |frame| in the payload of a data frame in stream |stream_id|. 332 // Wraps |frame| in the payload of a data frame in stream |stream_id|.
319 SpdyFrame* ConstructWrappedSpdyFrame( 333 SpdyFrame* ConstructWrappedSpdyFrame(const scoped_ptr<SpdyFrame>& frame,
320 const scoped_ptr<SpdyFrame>& frame, int stream_id); 334 int stream_id);
321 335
322 // Create an async MockWrite from the given SpdyFrame. 336 // Create an async MockWrite from the given SpdyFrame.
323 MockWrite CreateMockWrite(const SpdyFrame& req); 337 MockWrite CreateMockWrite(const SpdyFrame& req);
324 338
325 // Create an async MockWrite from the given SpdyFrame and sequence number. 339 // Create an async MockWrite from the given SpdyFrame and sequence number.
326 MockWrite CreateMockWrite(const SpdyFrame& req, int seq); 340 MockWrite CreateMockWrite(const SpdyFrame& req, int seq);
327 341
328 MockWrite CreateMockWrite(const SpdyFrame& req, int seq, IoMode mode); 342 MockWrite CreateMockWrite(const SpdyFrame& req, int seq, IoMode mode);
329 343
330 // Create a MockRead from the given SpdyFrame. 344 // Create a MockRead from the given SpdyFrame.
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 436
423 private: 437 private:
424 DISALLOW_COPY_AND_ASSIGN(SpdyTestStateHelper); 438 DISALLOW_COPY_AND_ASSIGN(SpdyTestStateHelper);
425 }; 439 };
426 440
427 } // namespace test_spdy2 441 } // namespace test_spdy2
428 442
429 } // namespace net 443 } // namespace net
430 444
431 #endif // NET_SPDY_SPDY_TEST_UTIL_H_ 445 #endif // NET_SPDY_SPDY_TEST_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698