diff options
| author | cce <devnull@localhost> | 2007-03-05 23:01:29 +0000 |
|---|---|---|
| committer | cce <devnull@localhost> | 2007-03-05 23:01:29 +0000 |
| commit | 76f0a2e03304daa0f4aa06ebafba9545bb8b2391 (patch) | |
| tree | 4857d674b0e9697659f70374b41429c6a31d4e3e /paste/httpserver.py | |
| parent | 5fef8c60de388f61797641f70649a48809747cd9 (diff) | |
| download | paste-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-x | paste/httpserver.py | 18 |
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 |
