Esempio n. 1
0
/*
 * 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;
}
Esempio n. 2
0
/*
 * 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);
}
Esempio n. 3
0
/*
 * 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);
}