| <testcase> |
| <info> |
| <keywords> |
| WebSockets |
| </keywords> |
| </info> |
| |
| # |
| # Server-side |
| <reply> |
| <data nocheck="yes" nonewline="yes"> |
| HTTP/1.1 101 Switching to WebSockets
|
| Server: test-server/fake
|
| Upgrade: websocket
|
| Connection: Upgrade
|
| Something: else
|
| Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=
|
|
|
| %hex[%89%00]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 via callback (raw mode) + curl_ws_send() |
| </name> |
| <tool> |
| lib%TESTNUMBER |
| </tool> |
| <command> |
| ws://%HOSTIP:%HTTPPORT/%TESTNUMBER |
| </command> |
| </client> |
| |
| # |
| # Verify data after the test has been "shot" |
| <verify> |
| <protocol nocheck="yes" nonewline="yes"> |
| GET /%TESTNUMBER HTTP/1.1
|
| Host: %HOSTIP:%HTTPPORT
|
| User-Agent: webbie-sox/3
|
| Accept: */*
|
| Upgrade: websocket
|
| Connection: Upgrade
|
| Sec-WebSocket-Version: 13
|
| Sec-WebSocket-Key: NDMyMTUzMjE2MzIxNzMyMQ==
|
|
|
| %hex[%8a%00]hex% |
| </protocol> |
| </verify> |
| </testcase> |