From e07c6e6ee78c20b78981591ebc2d0b6cb4094b21 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 15 Jul 2011 12:07:37 -0400 Subject: [PATCH] http: fixes for sniffing R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/4753044 --- src/pkg/http/server.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pkg/http/server.go b/src/pkg/http/server.go index d71a24959a5..ca9ab647425 100644 --- a/src/pkg/http/server.go +++ b/src/pkg/http/server.go @@ -131,7 +131,7 @@ func (r *response) ReadFrom(src io.Reader) (n int64, err os.Error) { // WriteHeader if it hasn't been called yet, and WriteHeader // is what sets r.chunking. r.Flush() - if !r.chunking && r.bodyAllowed() { + if !r.chunking && r.bodyAllowed() && !r.needSniff { if rf, ok := r.conn.rwc.(io.ReaderFrom); ok { n, err = rf.ReadFrom(src) r.written += n @@ -367,8 +367,8 @@ func (w *response) sniff() { if w.chunking && len(data) > 0 { fmt.Fprintf(w.conn.buf, "%x\r\n", len(data)) - w.conn.buf.Write(data) } + w.conn.buf.Write(data) } // bodyAllowed returns true if a Write is allowed for this response type.