mirror of
https://github.com/curl/curl.git
synced 2026-08-26 01:33:33 +03:00
websocket: support CURLOPT_READFUNCTION
Add support for CURLOPT_READFUNCTION with WebSocket urls when *not* in connect-only mode, e.g. when using curl_multi_perform. Install the callback function and set CURLOPT_UPLOAD. Return CURL_READFUNC_PAUSE when having nothing more to send and unpause the transfer when more data is ready. This will send the read bytes in a WebSocket BINARY frame. Add support for this mode in the pytest "ws_data" client and have all tests run in 'curl_ws_send/recv' and 'peform' mode as well. Add `curl_ws_start_frame()`. Document, cover in libcurl-ws.md and explain the READFUNCTION mode for websockets. Add example `websocket-updown` for this. Closes #17683
This commit is contained in:
parent
756c0718c2
commit
37cecfc7b9
17 changed files with 878 additions and 156 deletions
|
|
@ -124,6 +124,7 @@ curl_url_set
|
|||
curl_url_strerror
|
||||
curl_ws_recv
|
||||
curl_ws_send
|
||||
curl_ws_start_frame
|
||||
curl_ws_meta
|
||||
</stdout>
|
||||
</verify>
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ http
|
|||
WebSockets upgrade only
|
||||
</name>
|
||||
<command>
|
||||
ws://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
||||
-T . ws://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
||||
</command>
|
||||
</client>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue