diff options
author | Louis Brauer <louis@openbooking.ch> | 2024-05-28 02:15:53 +0200 |
---|---|---|
committer | Louis Brauer <louis@openbooking.ch> | 2024-05-28 02:15:53 +0200 |
commit | 45a2aab66cbcb8e6d9286dcbfe19d1a310833061 (patch) | |
tree | a62015f6c510fff4e6ca5561c994d31a31039648 /xs_url.h | |
parent | 25ef07b1ec7576becc02bcfc07706184797fea91 (diff) |
Fix parsing of boundary for multipart/form-data
Diffstat (limited to 'xs_url.h')
-rw-r--r-- | xs_url.h | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -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); |