summaryrefslogtreecommitdiff
path: root/xs_url.h
diff options
context:
space:
mode:
authorLouis Brauer <louis@openbooking.ch>2024-05-28 02:15:53 +0200
committerLouis Brauer <louis@openbooking.ch>2024-05-28 02:15:53 +0200
commit45a2aab66cbcb8e6d9286dcbfe19d1a310833061 (patch)
treea62015f6c510fff4e6ca5561c994d31a31039648 /xs_url.h
parent25ef07b1ec7576becc02bcfc07706184797fea91 (diff)
Fix parsing of boundary for multipart/form-data
Diffstat (limited to 'xs_url.h')
-rw-r--r--xs_url.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/xs_url.h b/xs_url.h
index 606c3e4..3a063cd 100644
--- a/xs_url.h
+++ b/xs_url.h
@@ -107,7 +107,13 @@ xs_dict *xs_multipart_form_data(const char *payload, int p_size, const char *hea
if (xs_list_len(l1) != 2)
return NULL;
- boundary = xs_fmt("--%s", xs_list_get(l1, 1));
+ boundary = xs_dup(xs_list_get(l1, 1));
+
+ /* Tokodon sends the boundary header with double quotes surrounded */
+ if (xs_starts_and_ends("\"", boundary, "\"") != 0)
+ boundary = xs_strip_chars_i(boundary, "\"");
+
+ boundary = xs_fmt("--%s", boundary);
}
bsz = strlen(boundary);