summaryrefslogtreecommitdiff
path: root/apache2/mod_proxy_uwsgi.c
diff options
context:
space:
mode:
authorUnbit <info@unbit.it>2014-06-19 05:52:26 +0200
committerUnbit <info@unbit.it>2014-06-19 05:52:26 +0200
commit775afe1e866283d268d0cd9d9018243214210664 (patch)
treeb6d038c99d6c0987258dcc687b6ae91597abb274 /apache2/mod_proxy_uwsgi.c
parentcabb5f3e8e39f26bc96f1df452c58c7a3342a2f5 (diff)
downloaduwsgi-775afe1e866283d268d0cd9d9018243214210664.tar.gz
added support for unix socket in apache mod_proxy_uwsgi
Diffstat (limited to 'apache2/mod_proxy_uwsgi.c')
-rw-r--r--apache2/mod_proxy_uwsgi.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/apache2/mod_proxy_uwsgi.c b/apache2/mod_proxy_uwsgi.c
index c320dcbb..533950cd 100644
--- a/apache2/mod_proxy_uwsgi.c
+++ b/apache2/mod_proxy_uwsgi.c
@@ -67,15 +67,20 @@ static int uwsgi_canon(request_rec *r, char *url)
}
url += sizeof(UWSGI_SCHEME); /* Keep slashes */
- err = ap_proxy_canon_netloc(r->pool, &url, NULL, NULL, &host, &port);
- if (err) {
- ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
+ // is it a unix socket ?
+ if (strlen(url) == 2) {
+ *sport = 0;
+ }
+ else {
+ err = ap_proxy_canon_netloc(r->pool, &url, NULL, NULL, &host, &port);
+ if (err) {
+ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"error parsing URL %s: %s", url, err);
- return HTTP_BAD_REQUEST;
+ return HTTP_BAD_REQUEST;
+ }
+ apr_snprintf(sport, sizeof(sport), ":%u", port);
}
- apr_snprintf(sport, sizeof(sport), ":%u", port);
-
if (ap_strchr(host, ':')) { /* if literal IPv6 address */
host = apr_pstrcat(r->pool, "[", host, "]", NULL);
}