From 62f54e129478f13954f92a13c4d012f23b05199f Mon Sep 17 00:00:00 2001 From: Shenghou Ma Date: Mon, 26 Nov 2012 20:03:24 +0800 Subject: [PATCH] net/http: clarify docs of ParseForm and mention ParseForm in docs for FormValue while we're at it, also fix a return value stutter in ParseForm. R=bradfitz CC=golang-dev https://golang.org/cl/6847074 --- src/pkg/net/http/request.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/pkg/net/http/request.go b/src/pkg/net/http/request.go index 61557ff830..b9d6289793 100644 --- a/src/pkg/net/http/request.go +++ b/src/pkg/net/http/request.go @@ -643,16 +643,20 @@ func parsePostForm(r *Request) (vs url.Values, err error) { return } -// ParseForm parses the raw query from the URL. +// ParseForm parses the raw query from the URL and updates r.Form. +// +// For POST or PUT requests, it also parses the request body as a form and +// put the results into both r.PostForm and r.Form. +// POST and PUT body parameters take precedence over URL query string values +// in r.Form. // -// For POST or PUT requests, it also parses the request body as a form. -// POST and PUT body parameters take precedence over URL query string values. // If the request Body's size has not already been limited by MaxBytesReader, // the size is capped at 10MB. // // ParseMultipartForm calls ParseForm automatically. // It is idempotent. -func (r *Request) ParseForm() (err error) { +func (r *Request) ParseForm() error { + var err error if r.PostForm == nil { if r.Method == "POST" || r.Method == "PUT" { r.PostForm, err = parsePostForm(r) @@ -728,6 +732,7 @@ func (r *Request) ParseMultipartForm(maxMemory int64) error { // FormValue returns the first value for the named component of the query. // POST and PUT body parameters take precedence over URL query string values. // FormValue calls ParseMultipartForm and ParseForm if necessary. +// To access multiple values of the same key use ParseForm. func (r *Request) FormValue(key string) string { if r.Form == nil { r.ParseMultipartForm(defaultMaxMemory) -- 2.48.1