]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add mime types to webserver
authorAnthony Minessale <anthony.minessale@gmail.com>
Wed, 28 Nov 2007 20:44:18 +0000 (20:44 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Wed, 28 Nov 2007 20:44:18 +0000 (20:44 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6418 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/include/switch_core.h
src/mod/applications/mod_voicemail/mod_voicemail.c
src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
src/switch_core.c

index 814db2934b246737ab31a9727cba152672cc2eab..66ed31444843b29e084bbabb2d550e9ec645a0cc 100644 (file)
@@ -1493,7 +1493,7 @@ SWITCH_DECLARE(void) switch_core_set_globals(void);
 */
 SWITCH_DECLARE(uint8_t) switch_core_session_compare(switch_core_session_t *a, switch_core_session_t *b);
 
-
+SWITCH_DECLARE(switch_hash_index_t *) switch_core_mime_index(void);
 SWITCH_DECLARE(const char *) switch_core_mime_ext2type(const char *ext);
 SWITCH_DECLARE(switch_status_t) switch_core_mime_add_type(const char *type, const char *ext);
 
index 8ad3573c518f8231e23d3aec5494cd0c2142f86f..eb3ed2bdb3dc58edfd61425461de5e6a1e24feb4 100644 (file)
@@ -2250,7 +2250,7 @@ static int rss_callback(void *pArg, int argc, char **argv, char **columnNames)
 {
     struct holder *holder = (struct holder *) pArg;
     switch_xml_t x_tmp, x_link;
-    char *tmp, *del;
+    char *tmp, *del, *get;
     switch_time_exp_t tm;
        char create_date[80] = "";
        char read_date[80] = "";
@@ -2319,19 +2319,24 @@ static int rss_callback(void *pArg, int argc, char **argv, char **columnNames)
         fname = argv[8];
     }
 
+    get = switch_mprintf("http://%s:%s%s/get/%s", holder->host, holder->port, holder->uri, fname);
     del = switch_mprintf("http://%s:%s%s/del/%s", holder->host, holder->port, holder->uri, fname);
     x_link = switch_xml_add_child_d(holder->x_item, "fsvm:rmlink", 0);
     switch_xml_set_txt_d(x_link, del);
 
 
-    tmp = switch_mprintf("<![CDATA[Priority: %s<br>Last Heard: %s<br>Duration: %s<br><a href=%s>Delete This Message</a>]]>", 
-                         strcmp(argv[10], URGENT_FLAG_STRING) ? "normal" : "urgent", heard, duration_str, del);
 
+    tmp = switch_mprintf("<![CDATA[Priority: %s<br>"
+                         "Last Heard: %s<br>Duration: %s<br>"
+                         "<a href=%s>Delete This Message</a><br>"
+                         "]]>", 
+                         strcmp(argv[10], URGENT_FLAG_STRING) ? "normal" : "urgent", heard, duration_str, del);
 
     switch_xml_set_txt_d(x_tmp, tmp);
     free(tmp);
     free(del);
 
+
     x_tmp = switch_xml_add_child_d(holder->x_item, "pubDate", 0);
     switch_xml_set_txt_d(x_tmp, rss_date);
 
@@ -2339,17 +2344,17 @@ static int rss_callback(void *pArg, int argc, char **argv, char **columnNames)
     switch_xml_set_txt_d(x_tmp, duration_str);
 
 
-    tmp = switch_mprintf("http://%s:%s%s/get/%s", holder->host, holder->port, holder->uri, fname);
+    
 
     x_tmp = switch_xml_add_child_d(holder->x_item, "guid", 0);
-    switch_xml_set_txt_d(x_tmp, tmp);
+    switch_xml_set_txt_d(x_tmp, get);
 
     x_link = switch_xml_add_child_d(holder->x_item, "link", 0);
-    switch_xml_set_txt_d(x_link, tmp);
+    switch_xml_set_txt_d(x_link, get);
 
     x_tmp = switch_xml_add_child_d(holder->x_item, "enclosure", 0);
-    switch_xml_set_attr_d(x_tmp, "url", tmp);
-    free(tmp);
+    switch_xml_set_attr_d(x_tmp, "url", get);
+    free(get);
 
     
 
index 706825e56bded1eaed73562bb052616ef91f400c..9eea40771f1f9399a0bcbab796014cf045ec17d6 100644 (file)
@@ -665,6 +665,9 @@ SWITCH_MODULE_RUNTIME_FUNCTION(mod_xml_rpc_runtime)
        xmlrpc_registry *registryP;
        xmlrpc_env env;
        char logfile[512];
+       switch_hash_index_t *hi;
+       const void *var;
+       void *val;
 
        globals.running = 1;
 
@@ -679,6 +682,12 @@ SWITCH_MODULE_RUNTIME_FUNCTION(mod_xml_rpc_runtime)
 
        MIMETypeInit();
        MIMETypeAdd("text/html", "html");
+       for(hi = switch_core_mime_index(); hi; hi = switch_hash_next(hi)) {
+               switch_hash_this(hi, &var, NULL, &val);
+               if (var && val) {
+                       MIMETypeAdd((char *) val, (char *) var);
+               }
+       }
 
        snprintf(logfile, sizeof(logfile), "%s%s%s", SWITCH_GLOBAL_dirs.log_dir, SWITCH_PATH_SEPARATOR, "freeswitch_http.log");
        ServerCreate(&abyssServer, "XmlRpcServer", globals.port, SWITCH_GLOBAL_dirs.htdocs_dir, logfile);
index 7c27646f3a43eb17b45a1b67a4fe42ecc23f38d3..973cfc8e13d7ec144ec8145daef72e3ab913cea1 100644 (file)
@@ -557,6 +557,12 @@ SWITCH_DECLARE(const char *) switch_core_mime_ext2type(const char *ext)
        return (const char *) switch_core_hash_find(runtime.mime_types, ext);
 }
 
+                         
+SWITCH_DECLARE(switch_hash_index_t *) switch_core_mime_index(void)
+{
+       return switch_hash_first(NULL, runtime.mime_types);
+}
+
 SWITCH_DECLARE(switch_status_t) switch_core_mime_add_type(const char *type, const char *ext)
 {
        const char *check = (const char *) switch_core_hash_find(runtime.mime_types, ext);