Пример #1
0
void proxy_onevent(ape_proxy *proxy, char *event, acetables *g_ape)
{
	RAW *newraw;
	json_item *jlist = json_new_object();
	
	json_set_property_strZ(jlist, "event", event);
	json_set_property_objN(jlist, "pipe", 4, get_json_object_proxy(proxy));
	
	newraw = forge_raw("PROXY_EVENT", jlist);
	
	proxy_post_raw(newraw, proxy, g_ape);
}
Пример #2
0
unsigned int cmd_proxy_connect(callbackp *callbacki)
{
	ape_proxy *proxy;
	RAW *newraw;
	json *jlist = NULL;
	
	proxy = proxy_init_by_host_port(callbacki->param[2], callbacki->param[3], callbacki->g_ape);
	
	if (proxy == NULL) {
		send_error(callbacki->call_user, "PROXY_INIT_ERROR", "204", callbacki->g_ape);
	} else {
		proxy_attach(proxy, callbacki->call_user->pipe->pubid, 1, callbacki->g_ape);
		
		set_json("pipe", NULL, &jlist);
		json_attach(jlist, get_json_object_proxy(proxy), JSON_OBJECT);
	
		newraw = forge_raw(RAW_PROXY, jlist);
		post_raw(newraw, callbacki->call_user, callbacki->g_ape);		
	}
	
	return (FOR_NOTHING);
}
Пример #3
0
void proxy_process_eol(ape_socket *co, acetables *g_ape)
{
	char *b64;
	ape_proxy *proxy = co->attach;
	char *data = co->buffer_in.data;

	RAW *newraw;
	json_item *jlist = json_new_object();
	
	data[co->buffer_in.length] = '\0';
	b64 = base64_encode(data, strlen(data));
	
	json_set_property_strZ(jlist, "data", b64);
	json_set_property_strN(jlist, "event", 5, "READ", 4);
	json_set_property_objN(jlist, "pipe", 4, get_json_object_proxy(proxy));
	
	newraw = forge_raw("PROXY_EVENT", jlist);
	
	proxy_post_raw(newraw, proxy, g_ape);
	
	free(b64);	
}