curlhttpsink: Support for multipart/form-data Content-Type

Add support to set multipart/form-data as Content-Type by sending a
caps event to the curlhttpsink with a field named "boundary".

https://bugzilla.gnome.org/show_bug.cgi?id=796618
This commit is contained in:
Jonathan Karlsson 2018-06-18 13:01:50 +02:00 committed by Sebastian Dröge
parent 0af199e25e
commit d74ceb343a

View file

@ -466,7 +466,16 @@ gst_curl_http_sink_set_mime_type (GstCurlBaseSink * bcsink, GstCaps * caps)
structure = gst_caps_get_structure (caps, 0);
mime_type = gst_structure_get_name (structure);
sink->content_type = g_strdup (mime_type);
if (!g_strcmp0 (mime_type, "multipart/form-data") &&
gst_structure_has_field_typed (structure, "boundary", G_TYPE_STRING)) {
const gchar *boundary;
boundary = gst_structure_get_string (structure, "boundary");
sink->content_type = g_strconcat (mime_type, "; boundary=", boundary, NULL);
} else {
sink->content_type = g_strdup (mime_type);
}
}
static gboolean