Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_WS_OPTIONS(3)	    Library Functions Manual	   CURLOPT_WS_OPTIONS(3)

NAME
     CURLOPT_WS_OPTIONS - WebSocket behavior options

SYNOPSIS
     #include <curl/curl.h>

     CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WS_OPTIONS, long bitmask);

DESCRIPTION
     Pass  a long with a bitmask to tell libcurl about specific WebSocket behav-
     iors.

     To  detach  a  WebSocket  connection  and	use  the   curl_ws_send(3)   and
     curl_ws_recv(3)  functions  after	the HTTP upgrade procedure, set the CUR-
     LOPT_CONNECT_ONLY(3) option to 2L.

     Available bits in the bitmask

     CURLWS_RAW_MODE (1)
	    Deliver "raw"  WebSocket  traffic  to  the	CURLOPT_WRITEFUNCTION(3)
	    callback.  Read  "raw"  WebSocket traffic from the CURLOPT_READFUNC-
	    TION(3) callback.

	    In raw mode, libcurl does not handle pings or any  other  frame  for
	    the application.

     CURLWS_NOAUTOPONG (2)
	    Disable  the automatic reply to PING messages. This means users must
	    send a PONG message with curl_ws_send(3). This feature is added with
	    version 8.14.0.

DEFAULT
     0

PROTOCOLS
     This functionality affects ws only

EXAMPLE
     int main(void)
     {
       CURL *curl = curl_easy_init();
       if(curl) {
	 CURLcode result;
	 curl_easy_setopt(curl, CURLOPT_URL, "ws://example.com/");
	 /* tell curl we deal with all the WebSocket logic ourselves */
	 curl_easy_setopt(curl, CURLOPT_WS_OPTIONS, CURLWS_RAW_MODE);
	 result = curl_easy_perform(curl);
	 curl_easy_cleanup(curl);
       }
     }

HISTORY
     CURLWS_RAW_MODE and CURLWS_NOAUTOPONG macros became long types  in  8.16.0,
     prior   to   this	version  a  long  cast	was  necessary	when  passed  to
     curl_easy_setopt(3).

AVAILABILITY
     Added in curl 7.86.0

RETURN VALUE
     curl_easy_setopt(3) returns a CURLcode indicating success or error.

     CURLE_OK (0) means everything was OK, non-zero means an error occurred, see
     libcurl-errors(3).

SEE ALSO
     CURLOPT_CONNECT_ONLY(3), curl_ws_recv(3), curl_ws_send(3)

libcurl 			   2026-06-11		   CURLOPT_WS_OPTIONS(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=CURLOPT_WS_OPTIONS&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help