return SWITCH_STATUS_SUCCESS;
}
-
static size_t file_callback(void *ptr, size_t size, size_t nmemb, void *data)
{
register unsigned int realsize = (unsigned int) (size * nmemb);
return x;
}
-
static switch_xml_t xml_url_fetch(const char *section, const char *tag_name, const char *key_name, const char *key_value, switch_event_t *params,
void *user_data)
{
return xml;
}
-
switch_snprintf(basic_data, sizeof(basic_data), "hostname=%s§ion=%s&tag_name=%s&key_name=%s&key_value=%s",
hostname,
section,
return x ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_FALSE;
}
-
SWITCH_MODULE_LOAD_FUNCTION(mod_xml_curl_load)
{
switch_api_interface_t *xml_curl_api_interface;
return SWITCH_STATUS_SUCCESS;
}
-
SWITCH_MODULE_LOAD_FUNCTION(mod_xml_rpc_load)
{
/* connect my internal structure to the blank pointer passed to me */
return SWITCH_STATUS_SUCCESS;
}
-
static switch_status_t http_stream_raw_write(switch_stream_handle_t *handle, uint8_t *data, switch_size_t datalen)
{
TSession *r = handle->data;
return ret ? SWITCH_STATUS_FALSE : SWITCH_STATUS_SUCCESS;
}
-
static abyss_bool http_directory_auth(TSession *r, char *domain_name)
{
char *p, *x;
if (!(x_params = switch_xml_child(x_user, "params"))) {
goto authed;
}
-
for (x_param = switch_xml_child(x_params, "param"); x_param; x_param = x_param->next) {
const char *var = switch_xml_attr_soft(x_param, "name");
}
goto fail;
-
authed:
ResponseAddField(r, "freeswitch-user", r->user);
char *domain_name, *e;
abyss_bool ret = FALSE;
-
-
if (!strncmp(r->uri, "/domains/", 9)) {
domain_name = strdup(r->uri + 9);
switch_assert(domain_name);
SWITCH_GLOBAL_dirs.htdocs_dir,
new_uri
);
-
if (switch_directory_exists(tmp, NULL) == SWITCH_STATUS_SUCCESS) {
for (x = 0; x < 2; x++) {
ret = !http_directory_auth(r, NULL);
}
}
-
}
-
return ret;
}
if ((path_info = strchr(command, '/'))) {
*path_info++ = '\0';
}
-
for (i=0;i<r->response_headers.size;i++) {
ti=&r->response_headers.item[i];
auth:
-
if (switch_event_create(&stream.event, SWITCH_EVENT_API) == SWITCH_STATUS_SUCCESS) {
const char * const content_length = RequestHeaderValue(r, "content-length");
query = qbuf;
}
-
}
if (query) {
switch_event_add_header(stream.event, SWITCH_STACK_BOTTOM, "HTTP-QUERY", "%s", query);
}
switch_url_decode(q);
-
name = q;
if ((val = strchr(name, '='))) {
} while (q != NULL);
free(qd);
-
}
}
}
-
-
//ResponseChunked(r);
//ResponseContentType(r, mime);
//HTTPWrite(r, "<pre>\n\n", 7);
-
/* generation of the date field */
if (DateToString(&r->date, buf)) {
ResponseAddField(r,"Date", buf);
ConnWrite(r->conn, ti->value, (uint32_t)strlen(ti->value));
ConnWrite(r->conn,CRLF,2);
}
-
switch_snprintf(buf, sizeof(buf), "Connection: close\r\n");
ConnWrite(r->conn, buf, (uint32_t) strlen(buf));
return ret;
}
-
static xmlrpc_value *freeswitch_api(xmlrpc_env * const envP, xmlrpc_value * const paramArrayP, void *const userData)
{
char *command = NULL, *arg = NULL;
SWITCH_MODULE_RUNTIME_FUNCTION(mod_xml_rpc_runtime)
{
-
xmlrpc_registry *registryP;
xmlrpc_env env;
char logfile[512];
return SWITCH_STATUS_TERM;
}
-
ServerAddHandler(&globals.abyssServer, handler_hook);
ServerAddHandler(&globals.abyssServer, auth_hook);
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Starting HTTP Port %d, DocRoot [%s]\n", globals.port, SWITCH_GLOBAL_dirs.htdocs_dir);
return SWITCH_STATUS_TERM;
}
-
-
SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_xml_rpc_shutdown)
{
-
globals.abyssServer.running = 0;
shutdown(globals.abyssServer.listensock, 2);
while(globals.running) {