1
0
mirror of https://github.com/golang/go synced 2024-11-19 14:54:43 -07:00
The Go programming language
Go to file
Brad Fitzpatrick fa23a70044 http: fix two Transport gzip+persist crashes
There were a couple issues:

-- HEAD requests were attempting to be ungzipped,
   despite having no content.  That was fixed in
   the previous patch version, but ultimately was
   fixed as a result of other refactoring:

-- persist.go's ClientConn "lastbody" field was
   remembering the wrong body, since we were
   mucking with it later. Instead, ditch
   ClientConn's readRes func field and add a new
   method passing it in, so we can use a closure
   and do all our bodyEOFSignal + gunzip stuff
   in one place, simplifying a lot of code and
   not requiring messing with ClientConn's innards.

-- closing the gzip reader didn't consume its
   contents.  if the caller wasn't done reading
   all the response body and ClientConn closed it
   (thinking it'd move past those bytes in the
   TCP stream), it actually wouldn't.  so introduce
   a new wrapper just for gzip reader to have its
   Close method do an ioutil.Discard on its body
   first, before the close.

Fixes #1725
Fixes #1804

R=rsc, eivind
CC=golang-dev
https://golang.org/cl/4523058
2011-05-11 22:33:15 -04:00
doc effective go: explain about values/pointers in String() example 2011-05-11 08:31:24 -07:00
include windows: replace remaining __MINGW32__ instances with _WIN32 2011-02-08 15:42:52 -05:00
lib codereview: add release branch support 2011-05-03 10:39:11 -04:00
misc go/printer, gofmt: fix alignment of "=" in const/var declarations 2011-05-09 15:16:34 -07:00
src http: fix two Transport gzip+persist crashes 2011-05-11 22:33:15 -04:00
test gc: fix unsafe.Sizeof 2011-05-10 17:00:15 -04:00
.hgignore syscall: add Mmap, Munmap on Linux, FreeBSD, OS X 2011-04-06 17:52:02 -04:00
.hgtags tag release.r57.1 2011-05-04 00:26:20 -04:00
AUTHORS A+C: Vincent Vanackere (individual CLA) 2011-04-21 10:09:53 -04:00
CONTRIBUTORS CONTRIBUTORS: add Dmitriy Vyukov (Google CLA) 2011-04-21 12:09:19 -04:00
favicon.ico
LICENSE LICENSE: separate, change PATENTS text 2010-12-06 16:31:59 -05:00
PATENTS LICENSE: separate, change PATENTS text 2010-12-06 16:31:59 -05:00
README build: update, streamline documentation for new $GOBIN 2010-08-24 20:00:50 -04:00
robots.txt godoc: serve robots.txt raw 2011-02-19 05:46:20 +11:00

This is the source code repository for the Go programming language.  

For documentation about how to install and use Go,
visit http://golang.org/ or load doc/install.html in your web browser.

After installing Go, you can view a nicely formatted
doc/install.html by running godoc --http=:6060
and then visiting http://localhost:6060/doc/install.html.

Unless otherwise noted, the Go source files are distributed
under the BSD-style license found in the LICENSE file.

--

Binary Distribution Notes

If you have just untarred a binary Go distribution, you need to set
the environment variable $GOROOT to the full path of the go
directory (the one containing this README).  You can omit the
variable if you unpack it into /usr/local/go, or if you rebuild
from sources by running all.bash (see doc/install.html).
You should also add the Go binary directory $GOROOT/bin
to your shell's path.

For example, if you extracted the tar file into $HOME/go, you might
put the following in your .profile:

    export GOROOT=$HOME/go
    export PATH=$PATH:$GOROOT/bin

See doc/install.html for more details.