From e4f07a975f441e9932b52d1c535d659015566248 Mon Sep 17 00:00:00 2001
From: Zooko O'Whielacronx <zooko@zooko.com>
Date: Fri, 17 Aug 2007 12:06:41 -0700
Subject: [PATCH] tahoe_put.py: don't treat "^HTTP 200 OK" appearing somewhere
 in the body as if it appeared in the header

---
 src/allmydata/scripts/tahoe_put.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/allmydata/scripts/tahoe_put.py b/src/allmydata/scripts/tahoe_put.py
index 4b0497af..37d987a3 100644
--- a/src/allmydata/scripts/tahoe_put.py
+++ b/src/allmydata/scripts/tahoe_put.py
@@ -48,7 +48,6 @@ def put(nodeurl, vdrive, vdrive_fname, local_fname, verbosity):
     respbuf = []
     data = so.recv(CHUNKSIZE)
     while data:
-        # print "debuggery 1 okay now we've got some more data: %r" % (data,)
         respbuf.append(data)
         data = so.recv(CHUNKSIZE)
 
@@ -56,14 +55,17 @@ def put(nodeurl, vdrive, vdrive_fname, local_fname, verbosity):
 
     data = so.recv(CHUNKSIZE)
     while data:
-        # print "debuggery 2 okay now we've got some more data: %r" % (data,)
         respbuf.append(data)
         data = so.recv(CHUNKSIZE)
 
     respstr = ''.join(respbuf)
 
-    RESP_RE=re.compile("^HTTP/[0-9]\.[0-9] ([0-9]*) *([A-Za-z_]*)")  # This regex is soooo ad hoc...  --Zooko 2007-08-16
-    mo = RESP_RE.match(respstr)
+    headerend = respstr.find('\r\n\r\n')
+    if headerend == -1:
+        headerend = len(respstr)
+    header = respstr[:headerend]
+    RESP_RE=re.compile("^HTTP/[0-9]\.[0-9] ([0-9]*) *([A-Za-z_ ]*)")  # This regex is soooo ad hoc...  --Zooko 2007-08-16
+    mo = RESP_RE.match(header)
     if mo:
         code = int(mo.group(1))
         word = mo.group(2)
@@ -72,7 +74,7 @@ def put(nodeurl, vdrive, vdrive_fname, local_fname, verbosity):
             print "%s %s" % (code, word,)
             return 0
     
-    print respstr
+    print respstr[headerend:]
     return 1
 
 def main():
-- 
2.45.2