diff options
author | Robert Brewer <fumanchu@aminus.org> | 2006-12-23 22:09:29 +0000 |
---|---|---|
committer | Robert Brewer <fumanchu@aminus.org> | 2006-12-23 22:09:29 +0000 |
commit | e47ba575886ed20b762c64cf71144eec8d11213c (patch) | |
tree | 175ce8b616eed66aea695a533fb85884110167a0 | |
parent | a622897a21c6803220df431506df0e68be6bb3b6 (diff) | |
download | cherrypy-git-e47ba575886ed20b762c64cf71144eec8d11213c.tar.gz |
A couple more speed tweaks.
-rw-r--r-- | cherrypy/_cplogging.py | 10 | ||||
-rw-r--r-- | cherrypy/test/benchmark.py | 9 | ||||
-rw-r--r-- | cherrypy/wsgiserver.py | 5 |
3 files changed, 13 insertions, 11 deletions
diff --git a/cherrypy/_cplogging.py b/cherrypy/_cplogging.py index 135c83b4..c1bb2fff 100644 --- a/cherrypy/_cplogging.py +++ b/cherrypy/_cplogging.py @@ -45,17 +45,19 @@ class LogManager(object): def access(self): """Write to the access log.""" request = cherrypy.request + remote = request.remote response = cherrypy.response + outheaders = response.headers tmpl = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"' - s = tmpl % {'h': request.remote.name or request.remote.ip, + s = tmpl % {'h': remote.name or remote.ip, 'l': '-', 'u': getattr(request, "login", None) or "-", 't': self.time(), 'r': request.request_line, 's': response.status.split(" ", 1)[0], - 'b': response.headers.get('Content-Length', '') or "-", - 'f': request.headers.get('referer', ''), - 'a': request.headers.get('user-agent', ''), + 'b': outheaders.get('Content-Length', '') or "-", + 'f': outheaders.get('referer', ''), + 'a': outheaders.get('user-agent', ''), } try: self.access_log.log(logging.INFO, s) diff --git a/cherrypy/test/benchmark.py b/cherrypy/test/benchmark.py index 658459d9..2f5681c8 100644 --- a/cherrypy/test/benchmark.py +++ b/cherrypy/test/benchmark.py @@ -85,12 +85,13 @@ cherrypy.config.update({ 'server.max_request_header_size': 0, 'server.max_request_body_size': 0, 'engine.deadlock_poll_freq': 0, - # Cheat mode on ;) - 'tools.log_tracebacks.on': False, - 'tools.log_headers.on': False, - 'tools.trailing_slash.on': False, }) +# Cheat mode on ;) +del cherrypy.config['tools.log_tracebacks.on'] +del cherrypy.config['tools.log_headers.on'] +del cherrypy.config['tools.trailing_slash.on'] + appconf = { '/static': { 'tools.staticdir.on': True, diff --git a/cherrypy/wsgiserver.py b/cherrypy/wsgiserver.py index adce3f8a..1442b17e 100644 --- a/cherrypy/wsgiserver.py +++ b/cherrypy/wsgiserver.py @@ -417,7 +417,7 @@ class HTTPRequest(object): def send_headers(self): """Assert, process, and send the HTTP response message-headers.""" - hkeys = [key.lower() for (key, value) in self.outheaders] + hkeys = [key.lower() for key, value in self.outheaders] status = int(self.status[:3]) if self.response_protocol == 'HTTP/1.1': @@ -448,8 +448,7 @@ class HTTPRequest(object): buf = [server.protocol, " ", self.status, "\r\n"] try: - for k, v in self.outheaders: - buf.append(k + ": " + v + "\r\n") + buf += [k + ": " + v + "\r\n" for k, v in self.outheaders] except TypeError: if not isinstance(k, str): raise TypeError("WSGI response header key %r is not a string.") |