summaryrefslogtreecommitdiff
path: root/wsgitools/scgi/forkpool.py
diff options
context:
space:
mode:
Diffstat (limited to 'wsgitools/scgi/forkpool.py')
-rw-r--r--wsgitools/scgi/forkpool.py8
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__")