static switch_status_t http_put(url_cache_t *cache, switch_core_session_t *session, const char *url, const char *filename)
{
switch_status_t status = SWITCH_STATUS_SUCCESS;
-\r
- switch_curl_slist_t *headers = NULL; /* optional linked-list of HTTP headers */\r
- char *ext; /* file extension, used for MIME type identification */\r
- const char *mime_type = "application/octet-stream";\r
- char *buf;\r
-\r
+
+ switch_curl_slist_t *headers = NULL; /* optional linked-list of HTTP headers */
+ char *ext; /* file extension, used for MIME type identification */
+ const char *mime_type = "application/octet-stream";
+ char *buf;
+
CURL *curl_handle = NULL;
long httpRes = 0;
struct stat file_info = {0};
FILE *file_to_put = NULL;
int fd;
-\r
- /* guess what type of mime content this is going to be */\r
- if ((ext = strrchr(filename, '.'))) {\r
- ext++;\r
- if (!(mime_type = switch_core_mime_ext2type(ext))) {\r
- mime_type = "application/octet-stream";\r
- }\r
- }\r
-\r
- buf = switch_mprintf("Content-Type: %s", mime_type);\r
- headers = switch_curl_slist_append(headers, buf);\r
-\r
+
+ /* guess what type of mime content this is going to be */
+ if ((ext = strrchr(filename, '.'))) {
+ ext++;
+ if (!(mime_type = switch_core_mime_ext2type(ext))) {
+ mime_type = "application/octet-stream";
+ }
+ }
+
+ buf = switch_mprintf("Content-Type: %s", mime_type);
+ headers = switch_curl_slist_append(headers, buf);
+
/* open file and get the file size */
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "opening %s for upload to %s\n", filename, url);
fd = open(filename, O_RDONLY);
switch_curl_easy_setopt(curl_handle, CURLOPT_UPLOAD, 1);
switch_curl_easy_setopt(curl_handle, CURLOPT_PUT, 1);
switch_curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1);
- switch_curl_easy_setopt(curl_handle, CURLOPT_HTTPHEADER, headers);\r
+ switch_curl_easy_setopt(curl_handle, CURLOPT_HTTPHEADER, headers);
switch_curl_easy_setopt(curl_handle, CURLOPT_URL, url);
switch_curl_easy_setopt(curl_handle, CURLOPT_READDATA, file_to_put);
switch_curl_easy_setopt(curl_handle, CURLOPT_INFILESIZE_LARGE, (curl_off_t)file_info.st_size);
fclose(file_to_put);
}
- if (headers) {\r
- switch_curl_slist_free_all(headers);\r
- }\r
-\r
- switch_safe_free(buf);\r
-\r
+ if (headers) {
+ switch_curl_slist_free_all(headers);
+ }
+
+ switch_safe_free(buf);
+
return status;
}