)]}'
{
  "commit": "4b73b2e9d53e63404c8800f2a2b3f1ee86680815",
  "tree": "3f853c1bc8ac1b60f0292fa48e469a1582964f01",
  "parents": [
    "2a718c38d37f4eb7bbb65aee2f34188b57ed1dc1"
  ],
  "author": {
    "name": "Jyrki Muukkonen",
    "email": "jvtm@kruu.org",
    "time": "Thu Nov 11 11:26:12 2021"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Nov 11 11:26:12 2021"
  },
  "message": "fix: MediaIoBaseDownload range header off-by-one (#1595)\n\nIssue: It looks like Range header end value was constructed by adding chunk size to\r\ncurrent position. This leads into the request being one byte longer, and also\r\nthe received response body is one byte longer than anticipated.\r\n\r\nFix: adjust the end to be one byte earlier.\r\n\r\nFor example with `chunksize\u003d1024` and current position being 0, the range header\r\nshould be set to `bytes\u003d0-1023`.\r\n\r\nSee: https://httpwg.org/specs/rfc7233.html#rule.ranges-specifier\r\n\r\nFixes #1593\r\n\r\n----\r\n\r\nThank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:\r\n- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea\r\n- [x] Ensure the tests and linter pass\r\n- [x] Code coverage does not decrease (if any source code was changed)\r\n- [ ] Appropriate docs were updated (if necessary)\r\n\r\nFixes #1593 🦕\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1b661e1b260b47d0cf4a0839e6c1123c38052cfe",
      "old_mode": 33188,
      "old_path": "googleapiclient/http.py",
      "new_id": "927464e9ff706599d41ce6acda128bd8c74e17ac",
      "new_mode": 33188,
      "new_path": "googleapiclient/http.py"
    },
    {
      "type": "modify",
      "old_id": "852cd7e1a2e587d6aa7d98613c5cafa1f2c06e77",
      "old_mode": 33188,
      "old_path": "tests/test_http.py",
      "new_id": "e55e0566202b68ab36c4b839d5b5d5c34e2caee8",
      "new_mode": 33188,
      "new_path": "tests/test_http.py"
    }
  ]
}
