70 lines
1.2 KiB
Plaintext
70 lines
1.2 KiB
Plaintext
|
<testcase>
|
||
|
<info>
|
||
|
<keywords>
|
||
|
WebSockets
|
||
|
</keywords>
|
||
|
</info>
|
||
|
|
||
|
#
|
||
|
# Sends a PING + a 5 byte hello TEXT
|
||
|
<reply>
|
||
|
<data nocheck="yes" nonewline="yes">
|
||
|
HTTP/1.1 101 Switching to WebSockets swsclose
|
||
|
Server: test-server/fake
|
||
|
Upgrade: websocket
|
||
|
Connection: Upgrade
|
||
|
Something: else
|
||
|
Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=
|
||
|
|
||
|
%hex[%89%00%81%05hello]hex%
|
||
|
</data>
|
||
|
# allow upgrade
|
||
|
<servercmd>
|
||
|
upgrade
|
||
|
</servercmd>
|
||
|
</reply>
|
||
|
|
||
|
#
|
||
|
# Client-side
|
||
|
<client>
|
||
|
# require debug for the forced CURL_ENTROPY
|
||
|
<features>
|
||
|
debug
|
||
|
ws
|
||
|
</features>
|
||
|
<server>
|
||
|
http
|
||
|
</server>
|
||
|
<name>
|
||
|
WebSockets curl_ws_recv() with closed connection
|
||
|
</name>
|
||
|
<tool>
|
||
|
lib%TESTNUMBER
|
||
|
</tool>
|
||
|
<command>
|
||
|
ws://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
||
|
</command>
|
||
|
</client>
|
||
|
|
||
|
#
|
||
|
# PONG with no data and the 32 bit mask
|
||
|
#
|
||
|
<verify>
|
||
|
<protocol nocheck="yes" crlf="yes">
|
||
|
GET /%TESTNUMBER HTTP/1.1
|
||
|
Host: %HOSTIP:%HTTPPORT
|
||
|
User-Agent: websocket/2304
|
||
|
Accept: */*
|
||
|
Upgrade: websocket
|
||
|
Connection: Upgrade
|
||
|
Sec-WebSocket-Version: 13
|
||
|
Sec-WebSocket-Key: NDMyMTUzMjE2MzIxNzMyMQ==
|
||
|
|
||
|
</protocol>
|
||
|
|
||
|
# This test used to check that "connection closed" was output, but
|
||
|
# that is flaky since the outgoing PING just before might fail already
|
||
|
# and then the test exists before the output gets to be written
|
||
|
</verify>
|
||
|
</testcase>
|