[Freeswitch-svn] [commit] r7473 - in freeswitch/trunk: conf/autoload_configs src/mod/xml_int/mod_xml_cdr

Freeswitch SVN mikej at freeswitch.org
Fri Feb 1 16:14:54 EST 2008


Author: mikej
Date: Fri Feb  1 16:14:53 2008
New Revision: 7473

Modified:
   freeswitch/trunk/conf/autoload_configs/xml_cdr.conf.xml
   freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c

Log:
option to disable 100 continue (MDXMLINT-24), Thanks Shannon.

Modified: freeswitch/trunk/conf/autoload_configs/xml_cdr.conf.xml
==============================================================================
--- freeswitch/trunk/conf/autoload_configs/xml_cdr.conf.xml	(original)
+++ freeswitch/trunk/conf/autoload_configs/xml_cdr.conf.xml	Fri Feb  1 16:14:53 2008
@@ -23,6 +23,9 @@
 
     <!-- encode the post data may be 'true' for url encoding, 'false' for no encoding or 'base64' for base64 encoding -->
     <param name="encode" value="true"/>
+
+    <!-- optional: set to true to disable Expect: 100-continue lighttpd requires this setting --> 
+    <!--<param name="disable-100-continue" value="true"/>--> 
     
     <!-- optional: full path to the error log dir for failed web posts if not specified its the same as log-dir -->
     <!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank or omitted value will default to ${prefix}/logs/xml_cdr -->

Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c
==============================================================================
--- freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c	(original)
+++ freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c	Fri Feb  1 16:14:53 2008
@@ -45,6 +45,7 @@
 	uint32_t ignore_cacert_check;
 	int encode;
 	int log_b;
+	int disable100continue;
 } globals;
 
 SWITCH_MODULE_LOAD_FUNCTION(mod_xml_cdr_load);
@@ -121,6 +122,7 @@
 	/* 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) {
@@ -158,6 +160,11 @@
 		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);
@@ -245,6 +252,7 @@
 
 	memset(&globals,0,sizeof(globals));
 	globals.log_b = 1;
+	globals.disable100continue = 0;
 
 	/* parse the config */
 	if (!(xml = switch_xml_open_cfg(cf, &cfg, NULL))) {
@@ -265,6 +273,8 @@
 				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;



More information about the Freeswitch-svn mailing list