diff options
Diffstat (limited to 'wsgitools/scgi/forkpool.py')
-rw-r--r-- | wsgitools/scgi/forkpool.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/wsgitools/scgi/forkpool.py b/wsgitools/scgi/forkpool.py index 6476458..157e320 100644 --- a/wsgitools/scgi/forkpool.py +++ b/wsgitools/scgi/forkpool.py @@ -214,10 +214,16 @@ class SCGIServer: "wsgi.version": (1, 0), "wsgi.input": SocketFileWrapper(con), "wsgi.errors": self.error, - "wsgi.url_scheme": "http", # TODO: this is wrong + "wsgi.url_scheme": "http", "wsgi.multithread": False, "wsgi.multiprocess": True, "wsgi.run_once": False}) + if environ.get("HTTPS", "no").lower() in ('yes', 'y', '1'): + environ["wsgi.url_scheme"] = "https" + if "HTTP_CONTENT_TYPE" in environ: + environ["CONTENT_TYPE"] = environ.pop("HTTP_CONTENT_TYPE") + if "HTTP_CONTENT_LENGTH" in environ: + del environ["HTTP_CONTENT_LENGTH"] # TODO: better way? result = self.wsgiapp(environ, start_response) assert hasattr(result, "__iter__") |