]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-shared.c
use Host: header to generate cgit_hosturl
[ps-cgit] / ui-shared.c
index 4818e70983064ac5e1d8d944e530365f240ed63e..c23bc7540b9862bb200afba1bd46b7af7a119896 100644 (file)
@@ -38,14 +38,19 @@ char *cgit_hosturl()
 {
        char *host, *port;
 
-       host = getenv("SERVER_NAME");
-       if (!host)
-               return NULL;
-       port = getenv("SERVER_PORT");
-       if (port && atoi(port) != 80)
-               host = xstrdup(fmt("%s:%d", host, atoi(port)));
-       else
+       host = getenv("HTTP_HOST");
+       if (host) {
                host = xstrdup(host);
+       } else {
+               host = getenv("SERVER_NAME");
+               if (!host)
+                       return NULL;
+               port = getenv("SERVER_PORT");
+               if (port && atoi(port) != 80)
+                       host = xstrdup(fmt("%s:%d", host, atoi(port)));
+               else
+                       host = xstrdup(host);
+       }
        return host;
 }