[Freeswitch-svn] [commit] r6356 - freeswitch/trunk/src/mod/xml_int/mod_xml_curl
Freeswitch SVN
mikej at freeswitch.org
Tue Nov 20 02:53:39 EST 2007
Author: mikej
Date: Tue Nov 20 02:53:38 2007
New Revision: 6356
Modified:
freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c
Log:
resolves MDXMLINT-17 added api command xml_curl (takes debug_on and debug_off as params) that enables and disables keeping the lookup files around for debug reasons.
Modified: freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c
==============================================================================
--- freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c (original)
+++ freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c Tue Nov 20 02:53:38 2007
@@ -45,6 +45,8 @@
uint32_t ignore_cacert_check;
};
+static int keep_files_around = 0;
+
typedef struct xml_binding xml_binding_t;
struct config_data {
@@ -52,6 +54,34 @@
int fd;
};
+#define XML_CURL_SYNTAX "[debug_on|debug_off]"
+SWITCH_STANDARD_API(xml_curl_function)
+{
+ if (session) {
+ return SWITCH_STATUS_FALSE;
+ }
+
+ if (switch_strlen_zero(cmd)) {
+ goto usage;
+ }
+
+ if (!strcasecmp(cmd, "debug_on")) {
+ keep_files_around = 1;
+ } else if (!strcasecmp(cmd, "debug_off")) {
+ keep_files_around = 0;
+ } else {
+ goto usage;
+ }
+
+ stream->write_function(stream, "OK\n");
+ return SWITCH_STATUS_SUCCESS;
+
+usage:
+ stream->write_function(stream, "USAGE: %s\n", XML_CURL_SYNTAX);
+ return SWITCH_STATUS_SUCCESS;
+}
+
+
static size_t file_callback(void *ptr, size_t size, size_t nmemb, void *data)
{
register unsigned int realsize = (unsigned int) (size * nmemb);
@@ -160,7 +190,12 @@
xml=NULL;
}
- unlink(filename);
+ /* Debug by leaving the file behind for review */
+ if(keep_files_around) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CONSOLE, "XML response is in %s\n", filename);
+ } else {
+ unlink(filename);
+ }
return xml;
}
@@ -246,9 +281,13 @@
SWITCH_MODULE_LOAD_FUNCTION(mod_xml_curl_load)
{
+ switch_api_interface_t *xml_curl_api_interface;
+
/* connect my internal structure to the blank pointer passed to me */
*module_interface = switch_loadable_module_create_module_interface(pool, modname);
+ SWITCH_ADD_API(xml_curl_api_interface, "xml_curl", "XML Curl", xml_curl_function, XML_CURL_SYNTAX);
+
if (do_config() == SWITCH_STATUS_SUCCESS) {
curl_global_init(CURL_GLOBAL_ALL);
} else {
More information about the Freeswitch-svn
mailing list