mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-07-26 19:57:42 +00:00
move func in the core to hide the need to wrap it
This commit is contained in:
parent
6ef27f1917
commit
7fab8f1543
@ -49,7 +49,7 @@ SWITCH_DECLARE(switch_CURLcode) switch_curl_easy_setopt(CURL *handle, switch_CUR
|
|||||||
SWITCH_DECLARE(const char *) switch_curl_easy_strerror(switch_CURLcode errornum );
|
SWITCH_DECLARE(const char *) switch_curl_easy_strerror(switch_CURLcode errornum );
|
||||||
SWITCH_DECLARE(void) switch_curl_init(void);
|
SWITCH_DECLARE(void) switch_curl_init(void);
|
||||||
SWITCH_DECLARE(void) switch_curl_destroy(void);
|
SWITCH_DECLARE(void) switch_curl_destroy(void);
|
||||||
|
SWITCH_DECLARE(switch_status_t) switch_curl_process_form_post_params(switch_event_t *event, switch_CURL *curl_handle, struct curl_httppost **formpostp);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1106,58 +1106,6 @@ static void cleanup_attachments(client_t *client)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static switch_status_t process_form_post_params(client_t *client, switch_CURL *curl_handle, struct curl_httppost **formpostp)
|
|
||||||
{
|
|
||||||
|
|
||||||
struct curl_httppost *formpost=NULL;
|
|
||||||
struct curl_httppost *lastptr=NULL;
|
|
||||||
switch_event_header_t *hp;
|
|
||||||
int go = 0;
|
|
||||||
|
|
||||||
for (hp = client->params->headers; hp; hp = hp->next) {
|
|
||||||
if (!strncasecmp(hp->name, "attach_file:", 12)) {
|
|
||||||
go = 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!go) {
|
|
||||||
return SWITCH_STATUS_FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (hp = client->params->headers; hp; hp = hp->next) {
|
|
||||||
|
|
||||||
if (!strncasecmp(hp->name, "attach_file:", 12)) {
|
|
||||||
char *pname = switch_core_strdup(client->pool, hp->name + 12);
|
|
||||||
char *fname = strchr(pname, ':');
|
|
||||||
|
|
||||||
if (fname && pname) {
|
|
||||||
*fname++ = '\0';
|
|
||||||
|
|
||||||
curl_formadd(&formpost,
|
|
||||||
&lastptr,
|
|
||||||
CURLFORM_COPYNAME, pname,
|
|
||||||
CURLFORM_FILENAME, fname,
|
|
||||||
CURLFORM_FILE, hp->value,
|
|
||||||
CURLFORM_END);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
curl_formadd(&formpost,
|
|
||||||
&lastptr,
|
|
||||||
CURLFORM_COPYNAME, hp->name,
|
|
||||||
CURLFORM_COPYCONTENTS, hp->value,
|
|
||||||
CURLFORM_END);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*formpostp = formpost;
|
|
||||||
|
|
||||||
return SWITCH_STATUS_SUCCESS;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static switch_status_t httapi_sync(client_t *client)
|
static switch_status_t httapi_sync(client_t *client)
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -1208,7 +1156,7 @@ static switch_status_t httapi_sync(client_t *client)
|
|||||||
|
|
||||||
dynamic_url = switch_event_expand_headers(client->params, url);
|
dynamic_url = switch_event_expand_headers(client->params, url);
|
||||||
|
|
||||||
process_form_post_params(client, curl_handle, &formpost);
|
switch_curl_process_form_post_params(client->params, curl_handle, &formpost);
|
||||||
|
|
||||||
if (formpost) {
|
if (formpost) {
|
||||||
get_style_method = 1;
|
get_style_method = 1;
|
||||||
|
@ -73,3 +73,56 @@ SWITCH_DECLARE(void) switch_curl_destroy(void)
|
|||||||
curl_global_cleanup();
|
curl_global_cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SWITCH_DECLARE(switch_status_t) switch_curl_process_form_post_params(switch_event_t *event, switch_CURL *curl_handle, struct curl_httppost **formpostp)
|
||||||
|
{
|
||||||
|
|
||||||
|
struct curl_httppost *formpost=NULL;
|
||||||
|
struct curl_httppost *lastptr=NULL;
|
||||||
|
switch_event_header_t *hp;
|
||||||
|
int go = 0;
|
||||||
|
|
||||||
|
for (hp = event->headers; hp; hp = hp->next) {
|
||||||
|
if (!strncasecmp(hp->name, "attach_file:", 12)) {
|
||||||
|
go = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!go) {
|
||||||
|
return SWITCH_STATUS_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (hp = event->headers; hp; hp = hp->next) {
|
||||||
|
|
||||||
|
if (!strncasecmp(hp->name, "attach_file:", 12)) {
|
||||||
|
char *pname = strdup(hp->name + 12);
|
||||||
|
char *fname = strchr(pname, ':');
|
||||||
|
|
||||||
|
if (fname && pname) {
|
||||||
|
*fname++ = '\0';
|
||||||
|
|
||||||
|
curl_formadd(&formpost,
|
||||||
|
&lastptr,
|
||||||
|
CURLFORM_COPYNAME, pname,
|
||||||
|
CURLFORM_FILENAME, fname,
|
||||||
|
CURLFORM_FILE, hp->value,
|
||||||
|
CURLFORM_END);
|
||||||
|
}
|
||||||
|
|
||||||
|
free(pname);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
curl_formadd(&formpost,
|
||||||
|
&lastptr,
|
||||||
|
CURLFORM_COPYNAME, hp->name,
|
||||||
|
CURLFORM_COPYCONTENTS, hp->value,
|
||||||
|
CURLFORM_END);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*formpostp = formpost;
|
||||||
|
|
||||||
|
return SWITCH_STATUS_SUCCESS;
|
||||||
|
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user