File: websocket.htt

package info (click to toggle)
httest 2.4.23-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,876 kB
  • sloc: ansic: 19,553; sh: 10,550; xml: 1,047; makefile: 510; lisp: 145; perl: 31
file content (54 lines) | stat: -rw-r--r-- 1,307 bytes parent folder | download | duplicates (6)
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
REQUIRE_MODULE LUA

INCLUDE $TOP/test/config.htb

BLOCK:LUA WebsocketAccept websocketKey : result
  return crypto.base64.encode(crypto.evp.digest("sha1", websocketKey.."258EAFA5-E914-47DA-95CA-C5AB0DC85B11", true))
END

CLIENT
  _REQ $YOUR_HOST $YOUR_PORT
  __GET / HTTP/1.1
  __Host: $YOUR_HOST:$YOUR_PORT 
  __Upgrade: websocket
  __Connection: Upgrade
  __Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
  __Origin: http://$YOUR_HOST:$YOUR_PORT
  __Sec-WebSocket-Protocol: chat, superchat
  __Sec-WebSocket-Version: 13
  __
  _EXPECT headers "Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK\+xOo="
  _WAIT
  _WS:RECV OP
  _EXPECT VAR(OP) "PING"
  _WS:SEND PONG AUTO ""
  _EXPECT . "blabla"
  _WS:RECV OP
  _DEBUG $OP
  _EXPECT . "blu"
  _WS:RECV
  _EXPECT . "bli blo"
  _WS:RECV OP LEN
  _CLOSE
END

SERVER $YOUR_PORT
  _RES
  _MATCH headers "Sec-WebSocket-Key: (.*)" WebsocketKey 
  _WAIT
  __HTTP/1.1 101 Switching Protocols
  __Upgrade: websocket
  __Connection: Upgrade
  #__Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
  __Sec-WebSocket-Accept: $WebsocketAccept($WebsocketKey) 
  __Sec-WebSocket-Protocol: chat
  __
  _FLUSH
  _WS:SEND PING AUTO ""
  _WS:RECV OP
  _EXPECT VAR(OP) "PONG"
  _WS:SEND TEXT AUTO blabla 0x12345678
  _WS:SEND TEXT AUTO blubla
  _WS:SEND TEXT AUTO "bli blo"
  _CLOSE
END