aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChloe Kudryavtsev <code@toast.bunkerlabs.net>2023-03-23 16:30:37 -0400
committerChloe Kudryavtsev <code@toast.bunkerlabs.net>2023-03-23 16:30:37 -0400
commit089a2ede05111d593888da22a90f7ece6768f121 (patch)
tree0e450eae98eeaeed65f78268a16926231a174ddb /src
parentall: implement mime-data-cb (diff)
native: implement mimepost
Diffstat (limited to 'src')
-rw-r--r--src/setopt.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/setopt.c b/src/setopt.c
index c467bfd..c0e64ce 100644
--- a/src/setopt.c
+++ b/src/setopt.c
@@ -9,6 +9,7 @@ enum jurl_paramtype {
JURL_PARAMTYPE_ENUM,
JURL_PARAMTYPE_OFF_T,
JURL_PARAMTYPE_CALLBACK,
+ JURL_PARAMTYPE_MIME,
};
struct jurl_opt {
CURLoption opt;
@@ -226,7 +227,7 @@ static const struct jurl_opt jurl_opts[] = {
{CURLOPT_INFILESIZE_LARGE, "infilesize-large", JURL_PARAMTYPE_OFF_T},
{CURLOPT_UPLOAD, "upload", JURL_PARAMTYPE_BOOLEAN},
{CURLOPT_UPLOAD_BUFFERSIZE, "upload-buffersize", JURL_PARAMTYPE_LONG},
- // TODO: mimepost
+ {CURLOPT_MIMEPOST, "mimepost", JURL_PARAMTYPE_MIME},
{CURLOPT_MIME_OPTIONS, "mime-options", JURL_PARAMTYPE_ENUM},
{CURLOPT_MAXFILESIZE, "maxfilesize", JURL_PARAMTYPE_LONG},
{CURLOPT_MAXFILESIZE_LARGE, "maxfilesize-large", JURL_PARAMTYPE_OFF_T},
@@ -389,6 +390,11 @@ JANET_CFUN(jurl_setopt) {
jurl_setcallback(jurl, opt->opt, janet_getfunction(argv, 2)
));
break;
+ case JURL_PARAMTYPE_MIME:
+ return jurl_geterror(
+ curl_easy_setopt(jurl->handle, opt->opt, janet_getjurlmime(argv, 2)
+ ));
+ break;
default:
janet_panic("jurl_setopt: unrecognized param type");
}