提交 ddf95e26 authored 作者: Daniel Swarbrick's avatar Daniel Swarbrick 提交者: Ken Rice

CGI specifies that REQUEST_URI is relative to the root (and does not include…

CGI specifies that REQUEST_URI is relative to the root (and does not include scheme name, hostname, port)
上级 91eada30
......@@ -40,6 +40,7 @@ SWITCH_MODULE_DEFINITION(mod_xml_scgi, mod_xml_scgi_load, mod_xml_scgi_shutdown,
struct xml_binding {
char *host;
switch_port_t port;
char *uri;
char *url;
int timeout;
......@@ -144,7 +145,7 @@ static switch_xml_t xml_url_fetch(const char *section, const char *tag_name, con
switch_stream_handle_t stream = { 0 };
char *txt = NULL;
strncpy(hostname, switch_core_get_switchname(), sizeof(hostname));
strncpy(hostname, switch_core_get_switchname(), sizeof(hostname));
if (!binding) {
return NULL;
......@@ -157,7 +158,7 @@ static switch_xml_t xml_url_fetch(const char *section, const char *tag_name, con
switch_assert(data);
scgi_add_param(&handle, "REQUEST_METHOD", "POST");
scgi_add_param(&handle, "REQUEST_URI", binding->url);
scgi_add_param(&handle, "REQUEST_URI", binding->uri);
scgi_add_body(&handle, data);
if (scgi_connect(&handle, binding->host, binding->port, binding->timeout * 1000) == SCGI_SUCCESS) {
......@@ -318,6 +319,7 @@ static switch_status_t do_config(void)
binding->host = switch_core_strdup(globals.pool, host);
binding->port = atoi(port);
binding->vars_map = vars_map;
binding->uri = switch_mprintf("/%s", bname);
binding->url = switch_mprintf("scgi://%s:%s/%s", host, port, bname);
if (server) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论