summaryrefslogtreecommitdiff
path: root/lib/setopt.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2022-09-09 15:11:14 +0200
committerDaniel Stenberg <daniel@haxx.se>2022-09-09 15:11:14 +0200
commit664249d095275ec532f55dd1752d80c8c1093a77 (patch)
treef8e3add4b66fb64271d22178743f3dc2f1758dcd /lib/setopt.c
parent60a3b25dbf1f211f6ba5216f2d774cfb26cb3e29 (diff)
downloadcurl-664249d095275ec532f55dd1752d80c8c1093a77.tar.gz
ws: initial websockets support
Closes #8995
Diffstat (limited to 'lib/setopt.c')
-rw-r--r--lib/setopt.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/setopt.c b/lib/setopt.c
index 795c8f450..afc44013c 100644
--- a/lib/setopt.c
+++ b/lib/setopt.c
@@ -2430,9 +2430,14 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
case CURLOPT_CONNECT_ONLY:
/*
- * No data transfer, set up connection and let application use the socket
+ * No data transfer.
+ * (1) - only do connection
+ * (2) - do first get request but get no content
*/
- data->set.connect_only = (0 != va_arg(param, long)) ? TRUE : FALSE;
+ arg = va_arg(param, long);
+ if(arg > 2)
+ return CURLE_BAD_FUNCTION_ARGUMENT;
+ data->set.connect_only = (unsigned char)arg;
break;
case CURLOPT_SOCKOPTFUNCTION:
@@ -3127,6 +3132,15 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
case CURLOPT_PREREQDATA:
data->set.prereq_userp = va_arg(param, void *);
break;
+#ifdef USE_WEBSOCKETS
+ case CURLOPT_WS_OPTIONS: {
+ bool raw;
+ arg = va_arg(param, long);
+ raw = (arg & CURLWS_RAW_MODE);
+ data->set.ws_raw_mode = raw;
+ break;
+ }
+#endif
default:
/* unknown tag and its companion, just ignore: */
result = CURLE_UNKNOWN_OPTION;