]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add optional content-type arg
authorAnthony Minessale <anthony.minessale@gmail.com>
Tue, 26 Aug 2008 18:38:02 +0000 (18:38 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Tue, 26 Aug 2008 18:38:02 +0000 (18:38 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9368 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c

index b13090f2e8a8d9d2d14ce9abca577e739b2e6f91..17a772360c0925aa6b9ecac51dac6940482ab730 100644 (file)
@@ -113,6 +113,7 @@ static JSBool curl_run(JSContext * cx, JSObject * obj, uintN argc, jsval * argv,
        long httpRes = 0;
        struct curl_slist *headers = NULL;
        int32 timeout = 0;
+       char ct[80] = "Content-Type: application/x-www-form-urlencoded";
 
        if (argc < 2 || !co) {
                return JS_FALSE;
@@ -122,12 +123,17 @@ static JSBool curl_run(JSContext * cx, JSObject * obj, uintN argc, jsval * argv,
        method = JS_GetStringBytes(JS_ValueToString(cx, argv[0]));
        url = JS_GetStringBytes(JS_ValueToString(cx, argv[1]));
 
+       if (argc > 2) {
+               char *content_type = JS_GetStringBytes(JS_ValueToString(cx, argv[2]));
+               snprintf(ct, sizeof(ct), "Content-Type: %s", content_type);
+       }
+
        co->curl_handle = curl_easy_init();
        if (!strncasecmp(url, "https", 5)) {
                curl_easy_setopt(co->curl_handle, CURLOPT_SSL_VERIFYPEER, 0);
                curl_easy_setopt(co->curl_handle, CURLOPT_SSL_VERIFYHOST, 0);
        }
-       headers = curl_slist_append(headers, "Content-Type: application/x-www-form-urlencoded");
+       headers = curl_slist_append(headers, ct);
 
        if (argc > 2) {
                data = JS_GetStringBytes(JS_ValueToString(cx, argv[2]));