diff roundup/cgi/client.py @ 2592:5a8d9465827e

implement the HTTP HEAD command [SF#992544]
author Richard Jones <richard@users.sourceforge.net>
date Tue, 20 Jul 2004 02:07:58 +0000
parents 89c5e8564dad
children 18e86941c950
line wrap: on
line diff
--- a/roundup/cgi/client.py	Tue Jul 20 00:43:55 2004 +0000
+++ b/roundup/cgi/client.py	Tue Jul 20 02:07:58 2004 +0000
@@ -1,4 +1,4 @@
-# $Id: client.py,v 1.183 2004-07-13 10:19:13 a1s Exp $
+# $Id: client.py,v 1.184 2004-07-20 02:07:58 richard Exp $
 
 """WWW request handler (also used in the stand-alone server).
 """
@@ -675,7 +675,8 @@
     def write(self, content):
         if not self.headers_done:
             self.header()
-        self.request.wfile.write(content)
+        if self.env['REQUEST_METHOD'] != 'HEAD':
+            self.request.wfile.write(content)
 
     def write_html(self, content):
         if not self.headers_done:
@@ -694,10 +695,17 @@
                     'roundup_charset=%s; expires=%s; Path=%s;' % (
                         self.charset, expire, self.cookie_path)
             self.header()
+
+        if self.env['REQUEST_METHOD'] == 'HEAD':
+            # client doesn't care about content
+            return
+
         if self.charset != self.STORAGE_CHARSET:
             # recode output
             content = content.decode(self.STORAGE_CHARSET, 'replace')
             content = content.encode(self.charset, 'xmlcharrefreplace')
+
+        # and write
         self.request.wfile.write(content)
 
     def setHeader(self, header, value):

Roundup Issue Tracker: http://roundup-tracker.org/