summaryrefslogtreecommitdiffstats
path: root/net/spdy/spdy_websocket_test_util_spdy3.h
blob: 3446738ec90764c060423000d97988b2dcc5c323 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright (c) 2012 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.

#ifndef NET_SPDY_SPDY_WEBSOCKET_TEST_UTIL_H_
#define NET_SPDY_SPDY_WEBSOCKET_TEST_UTIL_H_

#include "net/base/request_priority.h"
#include "net/spdy/spdy_protocol.h"

namespace net {

namespace test_spdy3 {

// Constructs a standard SPDY SYN_STREAM frame for WebSocket over SPDY opening
// handshake.
SpdyFrame* ConstructSpdyWebSocketSynStream(int stream_id,
                                           const char* path,
                                           const char* host,
                                           const char* origin);

// Constructs a standard SPDY SYN_REPLY packet to match the WebSocket over SPDY
// opening handshake.
SpdyFrame* ConstructSpdyWebSocketSynReply(int stream_id);

// Constructs a WebSocket over SPDY handshake request packet.
SpdyFrame* ConstructSpdyWebSocketHandshakeRequestFrame(
    const char* const headers[],
    int header_count,
    SpdyStreamId stream_id,
    RequestPriority request_priority);

// Constructs a WebSocket over SPDY handshake response packet.
SpdyFrame* ConstructSpdyWebSocketHandshakeResponseFrame(
    const char* const headers[],
    int header_count,
    SpdyStreamId stream_id,
    RequestPriority request_priority);

// Constructs a SPDY HEADERS frame for a WebSocket frame over SPDY.
SpdyFrame* ConstructSpdyWebSocketHeadersFrame(int stream_id,
                                              const char* length,
                                              bool fin);

// Constructs a WebSocket over SPDY data packet.
SpdyFrame* ConstructSpdyWebSocketDataFrame(const char* data,
                                           int len,
                                           SpdyStreamId stream_id,
                                           bool fin);

}  // namespace test_spdy3

}  // namespace net

#endif  // NET_SPDY_SPDY_WEBSOCKET_TEST_UTIL_H_