diff options
| author | cce <cce@localhost> | 2007-03-05 23:01:29 +0000 |
|---|---|---|
| committer | cce <cce@localhost> | 2007-03-05 23:01:29 +0000 |
| commit | 10c027752062e8bbca93faceaa539bac8e602e4a (patch) | |
| tree | 4857d674b0e9697659f70374b41429c6a31d4e3e /paste/httpserver.py | |
| parent | dbb1b5026b11cb5e7150e4d21a9bc307be9b09f1 (diff) | |
| download | paste-git-10c027752062e8bbca93faceaa539bac8e602e4a.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 |
