call*cgi, python: Added symmetrical {SERVER,REMOTE}_{ADDR,PORT} parameters.
[ashd.git] / python / ashd-wsgi
index f20d6ca..2e4a2fe 100755 (executable)
@@ -127,9 +127,11 @@ def dowsgi(req):
     env["SCRIPT_NAME"] = name
     env["PATH_INFO"] = pi
     if "Host" in req: env["SERVER_NAME"] = req["Host"]
+    if "X-Ash-Server-Address" in req: env["SERVER_ADDR"] = req["X-Ash-Server-Address"]
     if "X-Ash-Server-Port" in req: env["SERVER_PORT"] = req["X-Ash-Server-Port"]
     if "X-Ash-Protocol" in req and req["X-Ash-Protocol"] == "https": env["HTTPS"] = "on"
     if "X-Ash-Address" in req: env["REMOTE_ADDR"] = req["X-Ash-Address"]
+    if "X-Ash-Port" in req: env["REMOTE_PORT"] = req["X-Ash-Port"]
     if "Content-Type" in req:
         env["CONTENT_TYPE"] = req["Content-Type"]
         # The CGI specification does not strictly require this, but
@@ -137,7 +139,7 @@ def dowsgi(req):
         del env["HTTP_CONTENT_TYPE"]
     if "Content-Length" in req:
         env["CONTENT_LENGTH"] = req["Content-Length"]
-        del env["HTTP_CONTENT_TYPE"]
+        del env["HTTP_CONTENT_LENGTH"]
     if "X-Ash-File" in req: env["SCRIPT_FILENAME"] = absolutify(req["X-Ash-File"])
     if "X-Ash-Protocol" in req: env["wsgi.url_scheme"] = req["X-Ash-Protocol"]
     env["wsgi.input"] = req.sk