summaryrefslogtreecommitdiff
path: root/paste/httpserver.py
diff options
context:
space:
mode:
authorcce <devnull@localhost>2007-03-05 23:01:29 +0000
committercce <devnull@localhost>2007-03-05 23:01:29 +0000
commit76f0a2e03304daa0f4aa06ebafba9545bb8b2391 (patch)
tree4857d674b0e9697659f70374b41429c6a31d4e3e /paste/httpserver.py
parent5fef8c60de388f61797641f70649a48809747cd9 (diff)
downloadpaste-76f0a2e03304daa0f4aa06ebafba9545bb8b2391.tar.gz
making host address lookups optional
not looking up host addresses if they are private NATs
Diffstat (limited to 'paste/httpserver.py')
-rwxr-xr-xpaste/httpserver.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/paste/httpserver.py b/paste/httpserver.py
index 76cbe3a..652fd6e 100755
--- a/paste/httpserver.py
+++ b/paste/httpserver.py
@@ -83,6 +83,7 @@ class WSGIHandlerMixin:
HTTPRequestHandler derivative (as provided in Python's BaseHTTPServer).
This assumes a ``wsgi_application`` handler on ``self.server``.
"""
+ lookup_addresses = False
def log_request(self, *args, **kwargs):
""" disable success request logging
@@ -187,6 +188,7 @@ class WSGIHandlerMixin:
content_length = 0
rfile = LimitedLengthFile(rfile, content_length)
+ remote_address = self.client_address[0]
self.wsgi_environ = {
'wsgi.version': (1,0)
,'wsgi.url_scheme': 'http'
@@ -206,13 +208,19 @@ class WSGIHandlerMixin:
,'SERVER_PORT': str(server_port)
,'SERVER_PROTOCOL': self.request_version
# CGI not required by PEP-333
- ,'REMOTE_ADDR': self.client_address[0]
+ ,'REMOTE_ADDR': remote_address
}
- address_string = self.address_string()
- if address_string:
- self.wsgi_environ['REMOTE_HOST'] = address_string
-
+ if self.lookup_addresses:
+ if remote_address.startswith("192.168.") \
+ or remote_address.startswith("10.") \
+ or remote_address.startswith("172.16."):
+ pass
+ else:
+ address_string = None # self.address_string()
+ if address_string:
+ self.wsgi_environ['REMOTE_HOST'] = address_string
+
if hasattr(self.server, 'thread_pool'):
# Now that we know what the request was for, we should
# tell the thread pool what its worker is working on