/* * Wrapper for Curl_connect (GET) */ static int w_curl_connect(struct sip_msg* _m, char* _con, char * _url, char* _result) { str con = {NULL,0}; str url = {NULL,0}; str result = {NULL,0}; pv_spec_t *dst; pv_value_t val; int ret = 0; if (_con == NULL || _url == NULL || _result == NULL) { LM_ERR("http_connect: Invalid parameter\n"); return -1; } con.s = _con; con.len = strlen(con.s); if (get_str_fparam(&url, _m, (gparam_p)_url) != 0) { LM_ERR("http_connect: url has no value\n"); return -1; } LM_DBG("**** HTTP_CONNECT Connection %s URL %s Result var %s\n", _con, _url, _result); ret = curl_con_query_url(_m, &con, &url, &result, NULL, NULL); val.rs = result; val.flags = PV_VAL_STR; dst = (pv_spec_t *)_result; dst->setf(_m, &dst->pvp, (int)EQ_T, &val); if (result.s != NULL) pkg_free(result.s); return (ret==0)?-1:ret; }
/* * Wrapper for Curl_connect (POST) */ static int w_curl_connect_post(struct sip_msg* _m, char* _con, char * _url, char* _ctype, char* _data, char *_result) { return curl_con_query_url(_m, _con, _url, _result, _ctype, _data); }
/* * Wrapper for Curl_connect (GET) */ static int w_curl_connect(struct sip_msg* _m, char* _con, char * _url, char* _result) { // curl_con_query_url(struct sip_msg* _m, char *connection, char* _url, char* _result, const char *contenttype, char* _post) LM_DBG("**** Curl Connection %s URL %s Result var %s\n", _con, _url, _result); return curl_con_query_url(_m, _con, _url, _result, NULL, NULL); }