| <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> |