1
0
mirror of https://github.com/golang/go synced 2024-09-25 13:20:13 -06:00
The Go programming language
Go to file
Brad Fitzpatrick f0ef4f4746 http: add MaxBytesReader to limit request body size
This adds http.MaxBytesReader, similar to io.LimitReader,
but specific to http, and for preventing a class of DoS
attacks.

This also makes the 10MB ParseForm limit optional (if
not already set by a MaxBytesReader), documents it,
and also adds "PUT" as a valid verb for parsing forms
in the request body.

Improves issue 2093 (DoS protection)
Fixes #2165 (PUT form parsing)

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4921049
2011-08-23 12:17:21 +04:00
doc effective go: fix erroneous quoting of ampersands that cropped up 2011-08-23 13:54:29 +10:00
include build: define getcallerpc in u.h (fix for Plan 9 build) 2011-07-25 13:45:44 -04:00
lib godoc: template cleanup 2011-08-17 16:38:58 -07:00
misc runtime: speed up cgo calls 2011-08-18 12:17:09 -04:00
src http: add MaxBytesReader to limit request body size 2011-08-23 12:17:21 +04:00
test runtime: simplify stack traces 2011-08-22 23:26:39 -04:00
.hgignore exp/norm: added trie lookup code and associated tests. 2011-08-10 15:34:12 +02:00
.hgtags tag weekly.2011-10-17 2011-08-18 14:34:00 +10:00
AUTHORS A+C: Aleksandar Dezelin (individual CLA) 2011-08-16 18:15:36 -04:00
CONTRIBUTORS A+C: Aleksandar Dezelin (individual CLA) 2011-08-16 18:15:36 -04:00
favicon.ico add a favicon plus a couple of hi-res versions of gordon 2009-10-26 10:13:07 -07:00
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.