Chromium Code Reviews| Index: net/spdy/spdy_websocket_test_util.cc |
| diff --git a/net/spdy/spdy_websocket_test_util.cc b/net/spdy/spdy_websocket_test_util.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f37931949de2ffd7001dd33069df18c04a19d9a4 |
| --- /dev/null |
| +++ b/net/spdy/spdy_websocket_test_util.cc |
| @@ -0,0 +1,93 @@ |
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "net/spdy/spdy_websocket_test_util.h" |
| + |
| +#include "net/spdy/spdy_framer.h" |
| +#include "net/spdy/spdy_http_utils.h" |
| +#include "net/spdy/spdy_test_util.h" |
| + |
| +static const int kDefaultAssociatedStreamId = 0; |
| +static const bool kDefaultCompressed = false; |
| +static const char* kDefaultDataPointer = NULL; |
|
willchan no longer on Chromium
2011/07/07 08:03:35
static const char * const
Takashi Toyoshima
2011/07/07 08:12:22
Done.
|
| +static const uint32 kDefaultDataLength = 0; |
| +static const char** const kDefaultExtraHeaders = NULL; |
| +static const int kDefaultExtraHeaderCount = 0; |
| + |
| +namespace net { |
| + |
| +spdy::SpdyFrame* ConstructSpdyWebSocketHandshakeRequestFrame( |
| + const char* const headers[], |
| + int header_count, |
| + spdy::SpdyStreamId stream_id, |
| + RequestPriority request_priority) { |
| + |
| + // SPDY SYN_STREAM control frame header. |
| + const SpdyHeaderInfo kSynStreamHeader = { |
| + spdy::SYN_STREAM, |
| + stream_id, |
| + kDefaultAssociatedStreamId, |
| + ConvertRequestPriorityToSpdyPriority(request_priority), |
| + spdy::CONTROL_FLAG_NONE, |
| + kDefaultCompressed, |
| + spdy::INVALID, |
| + kDefaultDataPointer, |
| + kDefaultDataLength, |
| + spdy::DATA_FLAG_NONE |
| + }; |
| + |
| + // Construct SPDY SYN_STREAM control frame. |
| + return ConstructSpdyPacket( |
| + kSynStreamHeader, |
| + kDefaultExtraHeaders, |
| + kDefaultExtraHeaderCount, |
| + headers, |
| + header_count); |
| +} |
| + |
| +spdy::SpdyFrame* ConstructSpdyWebSocketHandshakeResponseFrame( |
| + const char* const headers[], |
| + int header_count, |
| + spdy::SpdyStreamId stream_id, |
| + RequestPriority request_priority) { |
| + |
| + // SPDY SYN_REPLY control frame header. |
| + const SpdyHeaderInfo kSynReplyHeader = { |
| + spdy::SYN_REPLY, |
| + stream_id, |
| + kDefaultAssociatedStreamId, |
| + ConvertRequestPriorityToSpdyPriority(request_priority), |
| + spdy::CONTROL_FLAG_NONE, |
| + kDefaultCompressed, |
| + spdy::INVALID, |
| + kDefaultDataPointer, |
| + kDefaultDataLength, |
| + spdy::DATA_FLAG_NONE |
| + }; |
| + |
| + // Construct SPDY SYN_REPLY control frame. |
| + return ConstructSpdyPacket( |
| + kSynReplyHeader, |
| + kDefaultExtraHeaders, |
| + kDefaultExtraHeaderCount, |
| + headers, |
| + header_count); |
| +} |
| + |
| +spdy::SpdyFrame* ConstructSpdyWebSocketDataFrame( |
| + const char* data, |
| + int len, |
| + spdy::SpdyStreamId stream_id, |
| + bool fin) { |
| + |
| + // Construct SPDY data frame. |
| + spdy::SpdyFramer framer; |
| + return framer.CreateDataFrame( |
| + stream_id, |
| + data, |
| + len, |
| + fin ? spdy::DATA_FLAG_FIN : spdy::DATA_FLAG_NONE); |
| +} |
| + |
| +} // namespace net |