[Checkins] SVN: zc.zservertracelog/branches/alex-extensions-2/ added request query strings to log.

Alex Smith asmith at zope.com
Fri Sep 12 12:19:56 EDT 2008


Log message for revision 91096:
  
  added request query strings to log.
  

Changed:
  U   zc.zservertracelog/branches/alex-extensions-2/CHANGES.txt
  U   zc.zservertracelog/branches/alex-extensions-2/src/zc/zservertracelog/README.txt
  U   zc.zservertracelog/branches/alex-extensions-2/src/zc/zservertracelog/tracelog.py

-=-
Modified: zc.zservertracelog/branches/alex-extensions-2/CHANGES.txt
===================================================================
--- zc.zservertracelog/branches/alex-extensions-2/CHANGES.txt	2008-09-12 15:51:08 UTC (rev 91095)
+++ zc.zservertracelog/branches/alex-extensions-2/CHANGES.txt	2008-09-12 16:19:55 UTC (rev 91096)
@@ -11,3 +11,5 @@
 
 * fixed bug where log entries could be split by messages containing newline
   characters.
+
+* added request query strings to log.

Modified: zc.zservertracelog/branches/alex-extensions-2/src/zc/zservertracelog/README.txt
===================================================================
--- zc.zservertracelog/branches/alex-extensions-2/src/zc/zservertracelog/README.txt	2008-09-12 15:51:08 UTC (rev 91095)
+++ zc.zservertracelog/branches/alex-extensions-2/src/zc/zservertracelog/README.txt	2008-09-12 16:19:55 UTC (rev 91096)
@@ -138,3 +138,37 @@
     C 21598352 2008-09-12T11:40:27
     A 21598352 2008-09-12T11:40:27 200 ?
     E 21598352 2008-09-12T11:40:27
+
+
+Request Query Strings
+=====================
+
+The tracelog preserves request query strings.
+
+    >>> req3 = """\
+    ... GET /test-req3/?creature=unicorn HTTP/1.1
+    ... Host: www.example.com/query-string
+    ...
+    ... """
+
+    >>> invokeRequest(req3)
+    B 21598352 2008-09-12T11:40:27 GET /test-req3/?creature=unicorn
+    I 21598352 2008-09-12T11:40:27 0
+    C 21598352 2008-09-12T11:40:27
+    A 21598352 2008-09-12T11:40:27 200 ?
+    E 21598352 2008-09-12T11:40:27
+
+Empty query strings are also preserved.
+
+    >>> req4 = """\
+    ... GET /test-req4/? HTTP/1.1
+    ... Host: www.example.com/empty-query-string
+    ...
+    ... """
+
+    >>> invokeRequest(req4)
+    B 21598352 2008-09-12T11:40:27 GET /test-req4/?
+    I 21598352 2008-09-12T11:40:27 0
+    C 21598352 2008-09-12T11:40:27
+    A 21598352 2008-09-12T11:40:27 200 ?
+    E 21598352 2008-09-12T11:40:27

Modified: zc.zservertracelog/branches/alex-extensions-2/src/zc/zservertracelog/tracelog.py
===================================================================
--- zc.zservertracelog/branches/alex-extensions-2/src/zc/zservertracelog/tracelog.py	2008-09-12 15:51:08 UTC (rev 91095)
+++ zc.zservertracelog/branches/alex-extensions-2/src/zc/zservertracelog/tracelog.py	2008-09-12 16:19:55 UTC (rev 91096)
@@ -83,8 +83,16 @@
 
     def handle_request(self, parser):
         logger = TraceLog(self)
-        _log(logger, 'B', '%s %s' % (parser.command, parser.path), parser.__B)
+
+        full_path = parser.path
+        if parser.query:
+            full_path += '?%s' % parser.query
+        elif parser.query is not None:
+            full_path += '?'
+
+        _log(logger, 'B', '%s %s' % (parser.command, full_path), parser.__B)
         _log(logger, 'I', str(parser.content_length))
+
         zope.server.http.httpserverchannel.HTTPServerChannel.handle_request(
             self, parser)
 



More information about the Checkins mailing list