aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/client.go
AgeCommit message (Collapse)Author
2018-08-13net/http: update request cancelation docsBrad Fitzpatrick
Fixes #26101 Change-Id: Id4def032b846257d2de992b7561ac90a17e08b91 Reviewed-on: https://go-review.googlesource.com/129155 Reviewed-by: Andrew Bonventre <andybons@golang.org>
2018-07-24net/http: document that Client methods always return *url.ErrorBrad Fitzpatrick
Updates #9424 Change-Id: If117ba3e7d031f84b30d3a721ef99fe622734de2 Reviewed-on: https://go-review.googlesource.com/125575 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-07-10net/http: clarify when it's allowed to reuse a RequestBrad Fitzpatrick
Fixes #21780 Change-Id: Ic6fb6a536fff800a05be2d25309f72092604a785 Reviewed-on: https://go-review.googlesource.com/122817 Reviewed-by: Andrew Bonventre <andybons@golang.org>
2018-06-01all: update comment URLs from HTTP to HTTPS, where possibleTim Cooper
Each URL was manually verified to ensure it did not serve up incorrect content. Change-Id: I4dc846227af95a73ee9a3074d0c379ff0fa955df Reviewed-on: https://go-review.googlesource.com/115798 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
2018-04-22net/http: remove unnecessary parameter typeshogo-ma
Change-Id: I954ca86c142e81c03ec867d10997617d1643b35d GitHub-Last-Rev: 4ffcc780f16f20ad3a531638d4cef1c7d04da0bc GitHub-Pull-Request: golang/go#24987 Reviewed-on: https://go-review.googlesource.com/108675 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2018-03-31net/http: strip password from error messageGregory Man
Strip password from URL then stringifying it to error. Fixes #24572 Change-Id: I1751ea9ccf87e7dff50c4c2a2010bf3f865702f8 Reviewed-on: https://go-review.googlesource.com/102855 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-02-20net/http: use RFC 723x as normative reference in docsDavid Url
Replace references to the obsoleted RFC 2616 with references to RFC 7230 through 7235, to avoid unnecessary confusion. Obvious inconsistencies are marked with todo comments. Updates #21974 Change-Id: I8fb4fcdd1333fc5193b93a2f09598f18c45e7a00 Reviewed-on: https://go-review.googlesource.com/94095 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-02net/http: clarify when it is safe to reuse a requestTom Bergan
The godoc for RoundTrip already specifies when it's ok to reuse a request that contains a body: the caller must wait until RoundTrip calls Close on Request.Body. This CL adds a small clarification: If the request does not have a body, it can be reused as long as the caller does not mutate the Request until RoundTrip fails or the Response.Body is closed. Fixes #19653 Change-Id: I56652a9369978d11650e2e6314104831c2ce5e78 Reviewed-on: https://go-review.googlesource.com/75671 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-11-01net/http: fix typo in doc stringJoe Kyo
Change-Id: I4542f6c095a35a4dec03c67c45a75a155197eb56 Reviewed-on: https://go-review.googlesource.com/74650 Reviewed-by: Tom Bergan <tombergan@google.com>
2017-10-16net/http: preserve Host header following a relative redirectTom Bergan
If the client sends a request with a custom Host header and receives a relative redirect in response, the second request should use the same Host header as the first request. However, if the response is an abolute redirect, the Host header should not be preserved. See further discussion on the issue tracker. Fixes #22233 Change-Id: I8796e2fbc1c89b3445e651f739d5d0c82e727c14 Reviewed-on: https://go-review.googlesource.com/70792 Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-10-02net/http: use canonicalAddr on shouldCopyHeaderOnRedirectGuilherme Rezende
Change-Id: Ic3f7f575d3640706adb7d64545ed8027add6c58f Reviewed-on: https://go-review.googlesource.com/61350 Run-TryBot: Tom Bergan <tombergan@google.com> Reviewed-by: Tom Bergan <tombergan@google.com>
2017-06-26net/http: fix double-close of req.BodyMatt Harden
Add a test and fix for the request body being closed twice. Fixes #19186 Change-Id: I1e35ad4aebfef68e6099c1dba7986883afdef4d7 Reviewed-on: https://go-review.googlesource.com/37298 Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-04-27net/http: close resp.Body when error occurred during redirectionWeichao Tang
Fixes #19976 Change-Id: I48486467066784a9dcc24357ec94a1be85265a6f Reviewed-on: https://go-review.googlesource.com/40940 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-04-21net/http: use bullet characters for godoc listsDamien Lespiau
Brad noticed a bullet list was rendered as preformatted text because of the indentation. One can use a unicode bullet as an ersatz for bullet lists. Fixes #20043 Change-Id: Iaed3582d14bd05920455669039a900d7155960d9 Reviewed-on: https://go-review.googlesource.com/41212 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-24net/http: don't send body on redirects for 301, 302, 303 when GetBody is setBrad Fitzpatrick
The presence of Request.GetBody being set on a request was causing all redirected requests to have a body, even if the redirect status didn't warrant one. This bug came from 307/308 support (https://golang.org/cl/29852) which removed the line that set req.Body to nil after POST/PUT redirects. Change-Id: I2a4dd5320f810ae25cfd8ea8ca7c9700e5dbd369 Reviewed-on: https://go-review.googlesource.com/35633 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2017-01-09net/http: preserve original HTTP method when possibleJoe Tsai
In Go1.7, a 301, 302, or 303 redirect on a HEAD method, would still cause the following redirects to still use a HEAD. In CL/29852 this behavior was changed such that those codes always caused a redirect with the GET method. Fix this such that both GET and HEAD will preserve the method. Fixes #18570 Change-Id: I4bfe69872a30799419e3fad9178f907fe439b449 Reviewed-on: https://go-review.googlesource.com/34981 Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-20net/http, doc: more redirect documentationBrad Fitzpatrick
Updates #18347 Updates #9348 Change-Id: I115203b0be3eb2e7e269ff28e2f3c47eeca86038 Reviewed-on: https://go-review.googlesource.com/34657 Reviewed-by: Russ Cox <rsc@golang.org>
2016-12-14net/http: deflake TestClientTimeout_Headers_h2 on WindowsBrad Fitzpatrick
The client code was using time.Now() (wall time) to determine whether the cause of a non-nil error meant that a timeout had occured. But on Windows, the clock used for timers (time.After, time.Sleep, etc) is much more accurate than the time.Now clock, which doesn't update often. But it turns out that as of the recent https://golang.org/cl/32478 we already have the answer available easily. It just wasn't in scope. Instead of passing this information along by decorating the errors (risky this late in Go 1.8, especially with #15935 unresolved), just passing along the "didTimeout" func internally for now. We can remove that later in Go 1.9 if we overhaul Transport errors. Fixes #18287 (I hope) Change-Id: Icbbfceaf02de6c7ed04fe37afa4ca16374b58f3c Reviewed-on: https://go-review.googlesource.com/34381 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-12-13net/http: update some commentsBrad Fitzpatrick
And move some code to make control flow more obvious. No functional change. Change-Id: Iefaa96f664070ab2accade1857e1946e56df6902 Reviewed-on: https://go-review.googlesource.com/34285 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2016-11-30net/http: document how headers are forwarded by ClientJoe Tsai
Fixes #18096 Change-Id: I22e1abb75dc19c4d1985b6857c79a81b9db5a76c Reviewed-on: https://go-review.googlesource.com/33670 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-11-10net/http: don't wrap request cancellation errors in timeoutsEmmanuel Odeke
Based on Filippo Valsorda's https://golang.org/cl/24230 Fixes #16094 Change-Id: Ie39b0834e220f0a0f4fbfb3bbb271e70837718c3 Reviewed-on: https://go-review.googlesource.com/32478 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-11-04net/http: move extra redirect logic for 307/308 into redirectBehaviorEmmanuel Odeke
Follow up of CL https://go-review.googlesource.com/32595. Change-Id: I2b3ff7e6b2c764bb6bc5e9aa692d0aed79eb5626 Reviewed-on: https://go-review.googlesource.com/32750 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-11-04net/http: tweak the new Client 307/308 redirect behavior a bitBrad Fitzpatrick
This CL tweaks the new (unreleased) 307/308 support added in https://golang.org/cl/29852 for #10767. Change 1: if a 307/308 response doesn't have a Location header in its response (as observed in the wild in #17773), just do what we used to do in Go 1.7 and earlier, and don't try to follow that redirect. Change 2: don't follow a 307/308 if we sent a body on the first request and the caller's Request.GetBody func is nil so we can't "rewind" the body to send it again. Updates #17773 (will be fixed more elsewhere) Change-Id: I183570f7346917828a4b6f7f1773094122a30406 Reviewed-on: https://go-review.googlesource.com/32595 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-10-30net/http: handle 3xx redirects properlyEmmanuel Odeke
Provides redirection support for 307, 308 server statuses. Provides redirection support for DELETE method. Updates old tests that assumed all redirects were treated the way 301, 302 and 303 are processed. Fixes #9348 Fixes #10767 Fixes #13994 Change-Id: Iffa8dbe0ff28a1afa8da59869290ec805b1dd2c4 Reviewed-on: https://go-review.googlesource.com/29852 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-10-25net/http: fix redirect logic to handle mutations of cookiesJoe Tsai
In the situation where the Client.Jar is set and the Request.Header has cookies manually inserted, the redirect logic needs to be able to apply changes to cookies from "Set-Cookie" headers to both the Jar and the manually inserted Header cookies. Since Header cookies lack information about the original domain and path, the logic in this CL simply removes cookies from the initial Header if any subsequent "Set-Cookie" matches. Thus, in the event of cookie conflicts, the logic preserves the behavior prior to change made in golang.org/cl/28930. Fixes #17494 Updates #4800 Change-Id: I645194d9f97ff4d95bd07ca36de1d6cdf2f32429 Reviewed-on: https://go-review.googlesource.com/31435 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-10-22net/http: add Request.GetBody func for 307/308 redirectsBrad Fitzpatrick
Updates #10767 Change-Id: I197535f71bc2dc45e783f38d8031aa717d50fd80 Reviewed-on: https://go-review.googlesource.com/31733 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-09-19net/http: rename Post's parameter from bodyType to contentTypeBrady Sullivan
Change-Id: Ie1b08215c02ce3ec72a4752f4b800f23345ff99d Reviewed-on: https://go-review.googlesource.com/29362 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-09-09net/http: make Client copy headers on redirectBrad Fitzpatrick
Copy all of the original request's headers on redirect, unless they're sensitive. Only send sensitive ones to the same origin, or subdomains thereof. Fixes #4800 Change-Id: Ie9fa75265c9d5e4c1012c028d31fd1fd74465712 Reviewed-on: https://go-review.googlesource.com/28930 Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Reviewed-by: Francesc Campoy Flores <campoy@golang.org> Reviewed-by: Ross Light <light@google.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-08-30net/http: stop timeout timer if user cancels a requestBrad Fitzpatrick
Change-Id: I84faeae69f294b9a70e545faac6a070feba67770 Reviewed-on: https://go-review.googlesource.com/28074 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
2016-08-30all: use time.Until where applicableBrad Fitzpatrick
Updates #14595 Change-Id: Idf60b3004c7a0ebb59dd48389ab62c854069e09f Reviewed-on: https://go-review.googlesource.com/28073 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-05-18net/http: allow Client.CheckRedirect to use most recent responseBrad Fitzpatrick
Fixes #10069 Change-Id: I3819ff597d5a0c8e785403bf9d65a054f50655a6 Reviewed-on: https://go-review.googlesource.com/23207 Reviewed-by: Russ Cox <rsc@golang.org>
2016-05-06net/http: don't assume Response.Request is populated after redirect errorsBrad Fitzpatrick
Fixes #15577 Change-Id: I5f023790a393b17235db2e66c02c2483773ddc1a Reviewed-on: https://go-review.googlesource.com/22857 Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-04-16net/http: normalize empty port in URL.Host's ":port"Emmanuel Odeke
- Ensures that the empty port and preceeding ":" in a URL.Host are stripped. Normalize the empty port in a URL.Host's ":port" as mandated by RFC 3986 Section 6.2.3 which states that: `Likewise an explicit ":port", for which the port is empty or the default for the scheme, is equivalent to one where the port and its ":" delimiter are elided and thus should be removed by scheme-based normalization.` - Moves function `hasPort` from client.go (where it was defined but not used directly), to http.go the common area. Fixes #14836 Change-Id: I2067410377be9c71106b1717abddc2f8b1da1c03 Reviewed-on: https://go-review.googlesource.com/22140 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-04-06net/http: keep request context during Client redirectsBrad Fitzpatrick
Change-Id: I25c51280ba55120ffeaf08222f5ac5d471632d89 Reviewed-on: https://go-review.googlesource.com/21535 Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-04-01net/http: clean up the Client redirect code, document Body.Close rules moreBrad Fitzpatrick
Issue #8633 (and #9134) noted that we didn't document the rules about closing the Response.Body when Client.Do returned both a non-nil *Response and a non-nil error (which can only happen when the user's CheckRedirect returns an error). In the process of investigating, I cleaned this code up a bunch, but no user-visible behavior should have changed, except perhaps some better error messages in some cases. It turns out it's always been the case that when a CheckRedirect error occurs, the Response.Body is already closed. Document that. And the new code makes that more obvious too. Fixes #8633 Change-Id: Ibc40cc786ad7fc4e0cf470d66bb559c3b931684d Reviewed-on: https://go-review.googlesource.com/21364 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org>
2016-03-12net/http: delete unused type readCloseDominik Honnef
readClose hasn't been used in years. Change-Id: Ia963c082e049ef856c2a637fec15204efe48b3b6 Reviewed-on: https://go-review.googlesource.com/20631 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-03-02all: single space after period.Brad Fitzpatrick
The tree's pretty inconsistent about single space vs double space after a period in documentation. Make it consistently a single space, per earlier decisions. This means contributors won't be confused by misleading precedence. This CL doesn't use go/doc to parse. It only addresses // comments. It was generated with: $ perl -i -npe 's,^(\s*// .+[a-z]\.) +([A-Z]),$1 $2,' $(git grep -l -E '^\s*//(.+\.) +([A-Z])') $ go test go/doc -update Change-Id: Iccdb99c37c797ef1f804a94b22ba5ee4b500c4f7 Reviewed-on: https://go-review.googlesource.com/20022 Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Dave Day <djd@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-01-21net/http: make Client propagate Request.Cancel over redirected requestsOlivier Poitrey
On HTTP redirect, the HTTP client creates a new request and don't copy over the Cancel channel. This prevents any redirected request from being cancelled. Fixes #14053 Change-Id: I467cdd4aadcae8351b6e9733fc582b7985b8b9d3 Reviewed-on: https://go-review.googlesource.com/18810 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
2016-01-05net/http: make Client use Request.Cancel for timeouts instead of CancelRequestBrad Fitzpatrick
In the beginning, there was no way to cancel an HTTP request. We later added Transport.CancelRequest to cancel an in-flight HTTP request by breaking its underlying TCP connection, but it was hard to use correctly and didn't work in all cases. And its error messages were terrible. Some of those issues were fixed over time, but the most unfixable problem was that it didn't compose well. All RoundTripper implementations had to choose to whether to implement CancelRequest and both decisions had negative consequences. In Go 1.5 we added Request.Cancel, which composed well, worked in all phases, had nice error messages, etc. But we forgot to use it in the implementation of Client.Timeout (a timeout which spans multiple requests and reading request bodies). In Go 1.6 (upcoming), we added HTTP/2 support, but now Client.Timeout didn't work because the http2.Transport didn't have a CancelRequest method. Rather than add a CancelRequest method to http2, officially deprecate it and update the only caller (Client, for Client.Cancel) to use Request.Cancel instead. The http2 Client timeout tests are enabled now. For compatibility, we still use CancelRequest in Client if we don't recognize the RoundTripper type. But documentation has been updated to tell people that CancelRequest is deprecated. Fixes #13540 Change-Id: I15546b90825bb8b54905e17563eca55ea2642075 Reviewed-on: https://go-review.googlesource.com/18260 Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-12-17net/http: be more consistent about Request.Method "" vs "GET"Brad Fitzpatrick
Patch from Russ. No bug identified, but I didn't search exhaustively. The new code is easier to read. Fixes #13621 Change-Id: Ifda936e4101116fa254ead950b5fe06adb14e977 Reviewed-on: https://go-review.googlesource.com/17981 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
2015-12-09net/http: clarify some RoundTripper behaviorsBrad Fitzpatrick
Fixes #12796 Updates #13444 Change-Id: I56840c0baf9b32a683086a80f5db1c5ea0a7aedf Reviewed-on: https://go-review.googlesource.com/17680 Reviewed-by: Russ Cox <rsc@golang.org>
2015-12-03net/http: make Client follow redirects even if Request.Method is emptyBrad Fitzpatrick
Fixes #12705 Change-Id: I69639d2b03777835b2697ff349a00ccab410aa49 Reviewed-on: https://go-review.googlesource.com/17318 Reviewed-by: Burcu Dogan <jbd@google.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-11-17net/http: detect when an HTTPS client contacts an HTTP serverCaleb Spare
Inspect the crypto/tls error to recognize this case and give a more helpful error. Fixes #11111. Change-Id: I63f6af8c375aa892326ccccbd29655d54d68df0b Reviewed-on: https://go-review.googlesource.com/16079 Run-TryBot: Caleb Spare <cespare@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-07-11all: link to https instead of httpBrad Fitzpatrick
The one in misc/makerelease/makerelease.go is particularly bad and probably warrants rotating our keys. I didn't update old weekly notes, and reverted some changes involving test code for now, since we're late in the Go 1.5 freeze. Otherwise, the rest are all auto-generated changes, and all manually reviewed. Change-Id: Ia2753576ab5d64826a167d259f48a2f50508792d Reviewed-on: https://go-review.googlesource.com/12048 Reviewed-by: Rob Pike <r@golang.org>
2015-06-26net/http: don't overwrite Authorization headers when URL has usernameSteve Streeting
Fixes #11399 Change-Id: I3be7fbc86c5f62761f47122632f3e11b56cb6be6 Reviewed-on: https://go-review.googlesource.com/11510 Reviewed-by: Russ Cox <rsc@golang.org>
2015-06-25net/http: sync Get and Head's documentationMatthew Dempsky
Instead of ambiguously referring to "the Client's CheckRedirect function" in Head, describe the default behavior like for Get as users aren't expected to change DefaultClient.CheckRedirect. While here, use consistent punctuation for the Get and Head Client method documentation. Change-Id: I9e7046c73b0d0bc4de002234924d9e7c59aceb41 Reviewed-on: https://go-review.googlesource.com/11362 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-04-28net/http: documentation updatesBrad Fitzpatrick
Fixes #10366 (how to set custom headers) Fixes #9836 (PATCH in PostForm) Fixes #9276 (generating a server-side Request for testing) Update #8991 (clarify Response.Write for now; export ReverseProxy's copy later?) Change-Id: I95a11bf3bb3eeeeb72775b6ebfbc761641addc35 Reviewed-on: https://go-review.googlesource.com/9410 Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-04-06net/http, math/big, cmd/internal/gc/big: replaced ↵Igor Dolzhikov
errors.New(fmt.Sprintf(...)) in favour fmt.Errorf() Change-Id: I38fc0ab84a374cb9be0234e40665d7cea0e76fc1 Reviewed-on: https://go-review.googlesource.com/8402 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2014-12-20net/http: make Client.Timeout return net.Error errors indicating timeoutBrad Fitzpatrick
Co-hacking with Dave Cheney. Fixes #9405 Change-Id: I14fc3b6a47dcdb5e514e93d062b804bb24e89f47 Reviewed-on: https://go-review.googlesource.com/1875 Reviewed-by: Dave Cheney <dave@cheney.net>
2014-10-07net/http: fix authentication info leakage in Referer header (potential ↵Jens Frederich
security risk) http.Client calls URL.String() to fill in the Referer header, which may contain authentication info. This patch removes authentication info from the Referer header without introducing any API changes. A new test for net/http is also provided. This is the polished version of Alberto García Hierro's https://golang.org/cl/9766046/ It should handle https Referer right. Fixes #8417 LGTM=bradfitz R=golang-codereviews, gobot, bradfitz, mikioh.mikioh CC=golang-codereviews https://golang.org/cl/151430043