\r
<!-- encode the post data may be 'true' for url encoding, 'false' for no encoding or 'base64' for base64 encoding -->\r
<param name="encode" value="true"/>\r
+\r
+ <!-- optional: set to true to disable Expect: 100-continue lighttpd requires this setting --> \r
+ <!--<param name="disable-100-continue" value="true"/>--> \r
\r
<!-- optional: full path to the error log dir for failed web posts if not specified its the same as log-dir -->\r
<!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank or omitted value will default to ${prefix}/logs/xml_cdr -->\r
uint32_t ignore_cacert_check;
int encode;
int log_b;
+ int disable100continue;
} globals;
SWITCH_MODULE_LOAD_FUNCTION(mod_xml_cdr_load);
/* try to post it to the web server */
if (!switch_strlen_zero(globals.url)) {
struct curl_slist *headers = NULL;
+ struct curl_slist *slist = NULL;
curl_handle = curl_easy_init();
if (globals.encode) {
curl_easy_setopt(curl_handle, CURLOPT_URL, globals.url);
curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "freeswitch-xml/1.0");
curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, httpCallBack);
+
+ if (globals.disable100continue) {
+ slist = curl_slist_append(slist, "Expect:");
+ curl_easy_setopt(curl_handle, CURLOPT_HTTPHEADER, slist);
+ }
if (globals.ignore_cacert_check) {
curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE);
memset(&globals,0,sizeof(globals));
globals.log_b = 1;
+ globals.disable100continue = 0;
/* parse the config */
if (!(xml = switch_xml_open_cfg(cf, &cfg, NULL))) {
globals.delay = (uint32_t) atoi(val);
} else if (!strcasecmp(var, "log-b-leg")) {
globals.log_b = switch_true(val);
+ } else if (!strcasecmp(var, "disable-100-continue") && switch_true(val)) {
+ globals.disable100continue = 1;
} else if (!strcasecmp(var, "encode")) {
if (!strcasecmp(val, "base64")) {
globals.encode = 2;