)]}'
{
  "commit": "9c436ab7dca9898d013eef321f5b51feb56feb56",
  "tree": "b8e542c9ed9893d108886f0223ba6c948a2911ac",
  "parents": [
    "6a876283c8c5a832d49bcca7ea1f4b671aef2448"
  ],
  "author": {
    "name": "Brad Fitzpatrick",
    "email": "bradfitz@golang.org",
    "time": "Wed Jun 08 15:59:23 2011 -0700"
  },
  "committer": {
    "name": "Brad Fitzpatrick",
    "email": "bradfitz@golang.org",
    "time": "Wed Jun 08 15:59:23 2011 -0700"
  },
  "message": "http: fix handling of 0-lengthed http requests\n\nVia Russ Ross\u0027 bug report on golang-nuts, it was not possible\nto send an HTTP request with a zero length body with either a\nContent-Length (it was stripped) or chunking (it wasn\u0027t set).\n\nThis means Go couldn\u0027t upload 0-length objects to Amazon S3.\n(which aren\u0027t as silly as they might sound, as S3 objects can\nhave key/values associated with them, set in the headers)\n\nAmazon further doesn\u0027t supported chunked uploads. (not Go\u0027s\nproblem, but we should be able to let users set an explicit\nContent-Length, even if it\u0027s zero.)\n\nTo fix the ambiguity of an explicit zero Content-Length and\nthe Request struct\u0027s default zero value, users need to\nexplicit set TransferEncoding to []string{\"identity\"} to force\nthe Request.Write to include a Content-Length: 0.  identity is\nin RFC 2616 but is ignored pretty much everywhere.  We don\u0027t\neven then serialize it on the wire, since it\u0027s kinda useless,\nexcept as an internal sentinel value.\n\nThe \"identity\" value is then documented, but most users can\nignore that because NewRequest now sets that.\n\nAnd adds more tests.\n\nR\u003dgolang-dev, rsc\nCC\u003dgolang-dev\nhttps://golang.org/cl/4603041\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2ff3160a95036a671ee6ecddc81b125ebb3bfb7a",
      "old_mode": 33188,
      "old_path": "src/pkg/http/request.go",
      "new_id": "bdc3a7e4fb64ef090efbb2ccc718e991c5ce9e9a",
      "new_mode": 33188,
      "new_path": "src/pkg/http/request.go"
    },
    {
      "type": "modify",
      "old_id": "2889048a9404227533310ec304141ad714ba8729",
      "old_mode": 33188,
      "old_path": "src/pkg/http/requestwrite_test.go",
      "new_id": "98fbcf459bef36f81752302617a108667d96184e",
      "new_mode": 33188,
      "new_path": "src/pkg/http/requestwrite_test.go"
    },
    {
      "type": "modify",
      "old_id": "062e7a0ff7512a79b862655baa1f526485a6bec6",
      "old_mode": 33188,
      "old_path": "src/pkg/http/transfer.go",
      "new_id": "b54508e7add2a14758c23ad0c30d49a1b9227e92",
      "new_mode": 33188,
      "new_path": "src/pkg/http/transfer.go"
    }
  ]
}
