1. 07 Dec, 2016 8 commits
  2. 06 Dec, 2016 10 commits
  3. 05 Dec, 2016 7 commits
  4. 04 Dec, 2016 3 commits
  5. 03 Dec, 2016 3 commits
  6. 02 Dec, 2016 8 commits
  7. 01 Dec, 2016 1 commit
    • Brad Fitzpatrick's avatar
      net/http: revert change making NewRequest set ContentLength -1 · 4bc7b5ae
      Brad Fitzpatrick authored
      The introduction of NoBody and related body-peeking bug fixes also
      added a "cleanup" of sorts to make NewRequest set the returned
      Requests's ContentLength to -1 when it didn't know it.
      
      Using -1 to mean unknown is what the documentation says, but then
      people apparently(?) depended on it being zero so they could do this:
      
          req, _ := http.NewRequest("POST", url, someNonNilReaderWithUnkownSize)
          req.Body = nil
          res, err := http.DefaultClient.Do(req)
      
      ... and expect it to work.
      
      After https://golang.org/cl/31445 the contrived(?) code above stopped
      working, since Body was nil and ContentLength was -1, which has been
      disallowed since Go 1.0.
      
      So this restores the old behavior of NewRequest, not setting it to -1.
      That part of the fix isn't required as of https://golang.org/cl/31726
      (which added NoBody)
      
      I still don't know whether this bug is hypothetical or actually
      affected people in practice.
      
      Let's assume it's real for now.
      
      Fixes #18117
      
      Change-Id: I42400856ee92a1a4999b5b4668bef97d885fbb53
      Reviewed-on: https://go-review.googlesource.com/33801
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      4bc7b5ae