Repository: sigmavirus24/github3.py

Issue:
Calling refresh() always pulls content from master branch
On version 0.9.5, I'm getting a content object like so:

```python
content = repository.contents('/path/to/file', ref='some-other-branch')
```

If, at some point, I call:

```python
content.refresh()
```

It pulls in the object from the `master` branch instead of `some-other-branch`.

I see on line 220 of `github3\models.py` it's calling:

```python
json = self._json(self._get(self._api, headers=headers), 200)
```

But `self._api` doesn't have the "?ref=some-other-branch" on it, so it's just defaulting to master. Is the value of `self._api` wrong, should we use another variable, or am I just using the library incorrectly? Happy to provide a PR if someone can point me in the right direction.

<bountysource-plugin>
---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/41407137-calling-refresh-always-pulls-content-from-master-branch?utm_campaign=plugin&utm_content=tracker%2F183477&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F183477&utm_medium=issues&utm_source=github).
</bountysource-plugin>

Discussion:

Patch:
diff --git a/AUTHORS.rst b/AUTHORS.rst
index 1b2e5854..ba807766 100644
--- a/AUTHORS.rst
+++ b/AUTHORS.rst
@@ -145,3 +145,4 @@ Contributors
 
 - Björn Kautler (@Vampire)
 
+- David Prothero (@dprothero)
diff --git a/github3/models.py b/github3/models.py
index 3d7d9243..1f4008b4 100644
--- a/github3/models.py
+++ b/github3/models.py
@@ -276,7 +276,10 @@ class GitHubCore(object):
 
     @property
     def _api(self):
-        return "{0.scheme}://{0.netloc}{0.path}".format(self._uri)
+        value = "{0.scheme}://{0.netloc}{0.path}".format(self._uri)
+        if self._uri.query:
+            value += '?{}'.format(self._uri.query)
+        return value
 
     @_api.setter
     def _api(self, uri):
diff --git a/tox.ini b/tox.ini
index e4261396..ec2e066c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -3,6 +3,7 @@ envlist = py{27,33,34,35,py},py{27,34}-flake8,docstrings
 minversion = 2.5.0
 
 [testenv]
+passenv = GH_*
 pip_pre = False
 deps =
     requests{env:REQUESTS_VERSION:>=2.0}


Test patch:
diff --git a/tests/cassettes/Contents_delete.json b/tests/cassettes/Contents_delete.json
index b932726c..aec0db4e 100644
--- a/tests/cassettes/Contents_delete.json
+++ b/tests/cassettes/Contents_delete.json
@@ -1,1 +1,1 @@
-{"http_interactions": [{"request": {"body": {"string": "", "encoding": "utf-8"}, "headers": {"Accept-Encoding": "gzip, deflate", "Accept": "application/vnd.github.v3.full+json", "User-Agent": "github3.py/1.0.0a2", "Accept-Charset": "utf-8", "Connection": "keep-alive", "Content-Type": "application/json", "Authorization": "token <AUTH_TOKEN>"}, "method": "GET", "uri": "https://api.github.com/repos/github3py/delete_contents"}, "response": {"body": {"string": "", "base64_string": "H4sIAAAAAAAAA+2YzW7bOhCFX8XQ9rqmnbRuYaDofYO76aobg5JoiQglCiRlwyHy7j0k9WffILLDLAMEgSxxPh4NOdTM2ITnye7b+uuP7cPjepnUtGLJLsmZYIbtM1kbVhudLJNDK8S+e1pwU7bpY3Mm/x8nTzVTyc4mQha8BmoYDIiba/P9x8Pm23aZ0CM1VO1bJTCqNKbRO0LCTb0KVq1mqtOwymRFWtJZ/zr+fASvUB3EgRPcuII1vAMFa9A0meopTSWuBITHfvx05EEKIU+wv9b75hRkMHMe9AheF+9BwMwSaUoGh+E1XtzLc23ulONNLF5Mmz3PHURjCRTL75PUGUGQW+wXSxRrpKe1qc4UbwyX9Z3SLkyBkqqgNX+m70DB1O1YJ+pOEd4Epuzodv19Tgk2ljSKH2l2du5QLGP8CO++h3dlDJw5Ny42/5t4xvmcI1BpXrlgO1Ch2csy8RoMBvsbS0TXTfv8lXDO2bCgmPp3yfUCf4ZVjVRUcXFeYDvmi/S86KJl1ZwXB6kWHCcHwtMtH4Zrgw0MsXjyNKh6M1j9Uowh+Io0x5pZoxkIwhMIyHpi50iSI1iC/11cZQh2msJHRs6dGXMiL1CWTH+6TWYYrSLFewRQpZSxHvUIoLjWLbtp38+9vidp0odX3VZpOP9uCao5eGBAL9WaFzVjkZ4cMJb0x3SqaJ2VseCeYkm48itPi0i5jgBQKmQaSUL0E4+xRJc0fJ7MPl6h4zrKBVaxwwfIdZQBa1T02nupDjNA8Z002AaRWnsKsZ1nBa2Llhax3AGDHeC+6AV9ns1v5uJp5ADqMjfF0/YjjsCR5NSGNAPnQKxrR9CI9dnL29/+WTdM8iDviKric/nEHLODXATCh4Ddvr2Gu9/zKdAtkh3FkvHUDh+Gjh/n5e7L0GudztIXLnET9BRi/2moKd2phskaqlgs10OITSnStdVqZUtGfTpeMRUd14EBGFVZifQzTqvtKciVKmp8sn9wUnMk/0LSPDIEBwyQYUHj9AbGdC80qFwjRXrElFlxgZxW1rFn8MiZ0mtp+IFnt9Q+cyF4gbK/NK8ztqRCLLEBDc849jUyc7eeSFdZrJ8CA6+CLkIogATDFo/0vkIzwlEsCTVrzhohzx9wPk1ALrQVQ82U76lBpfOw3my/rDdfHr7/Xm93m+3u6/YPxrRNPjumaXU5g8GR2+1yXKHrEWqny6bDdcXjOhlQoHU5mv47Gu7C5StNmc4wE9iuV7F1z7zH62/iLcYQXMqKNchWkl2NKHL16jOu0Wqa5ByZbGt4HTdP1CBZxnd9vNXnKT2gpHofojzZGdW68hZ3xnNkcvPEn/h0kNOhh/ozFJDjRBVXSnYNqaBVNqzu5poIClWjUzt5fqHe/8jZgbbC7EPCjj1VUW3QG0N5zlSFN0CaATE26Yr38C5u9/SS3bETrlHTTxsin/21rv/42V8bO6dvdyI/+2uX3V+kMRfNOYTl7f21mpkTWkeTM2FaknQnyublLz1XlkZdFwAA", "encoding": "utf-8"}, "headers": {"vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "x-github-media-type": "github.v3; param=full; format=json", "x-oauth-scopes": "admin:public_key, gist, repo, user", "x-xss-protection": "1; mode=block", "x-content-type-options": "nosniff", "x-accepted-oauth-scopes": "repo", "etag": "W/\"f4de1d3e6758ef37ba4c516ec79ec972\"", "cache-control": "private, max-age=60, s-maxage=60", "status": "200 OK", "x-ratelimit-remaining": "4993", "x-served-by": "7b641bda7ec2ca7cd9df72d2578baf75", "access-control-expose-headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "transfer-encoding": "chunked", "x-github-request-id": "97E45D32:135D3:6A62232:56A8616D", "access-control-allow-credentials": "true", "last-modified": "Wed, 27 Jan 2016 06:16:46 GMT", "date": "Wed, 27 Jan 2016 06:19:25 GMT", "access-control-allow-origin": "*", "content-security-policy": "default-src 'none'", "content-encoding": "gzip", "strict-transport-security": "max-age=31536000; includeSubdomains; preload", "server": "GitHub.com", "x-ratelimit-limit": "5000", "x-frame-options": "deny", "content-type": "application/json; charset=utf-8", "x-ratelimit-reset": "1453878422"}, "status": {"message": "OK", "code": 200}, "url": "https://api.github.com/repos/github3py/delete_contents"}, "recorded_at": "2016-01-27T06:19:25"}, {"request": {"body": {"string": "", "encoding": "utf-8"}, "headers": {"Accept-Encoding": "gzip, deflate", "Accept": "application/vnd.github.v3.full+json", "User-Agent": "github3.py/1.0.0a2", "Accept-Charset": "utf-8", "Connection": "keep-alive", "Content-Type": "application/json", "Authorization": "token <AUTH_TOKEN>"}, "method": "GET", "uri": "https://api.github.com/repos/github3py/delete_contents/readme"}, "response": {"body": {"string": "", "base64_string": "H4sIAAAAAAAAA7WSXWvCMBSG/0uuxfTDj1UYYzJXq3jjQFEESfNhuyZpaFJcJ/73pVPEybzQsYuQ8EKe95z3nB2QSFDQA9PB88tk0BQENIBCJrmQdIKs4gU+8pnHsO/Hvuch6nYZ85wAd1wHEUa7rS4h7TayDJ1+WuyD2wBlwe3XxBilexAilTY3qUnKuIlzAQuqcg0Pgq8qSCinhq5xLg2VRsPT41TfU0HZo0Da0MLaJEbw9U+HM/p1bszzGB4o8Lx1++MCd2PBFgBruIY3hEXyreQ5IhfWBdoesyo1LY5RfMd2vbFfejKVqifMUk5tYkeMFaKqny3nH5yEM7bwgtLeJRlOxrMwUbjq18dZzt1t7I8SLLimb30Xe7MsCkftlYxCokiYuIv3SYmH2WYpgioKeU2RWLw6aB6U0XDKsT9VscDjlbTmVOKcpHJj3WOkaadltTVPZaZBbwc05ez/VsVmdj/8rrHWy3lm+YfF3O+/AFUXR1upAwAA", "encoding": "utf-8"}, "headers": {"vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "x-github-media-type": "github.v3; param=full; format=json", "x-oauth-scopes": "admin:public_key, gist, repo, user", "x-xss-protection": "1; mode=block", "x-content-type-options": "nosniff", "x-accepted-oauth-scopes": "", "etag": "W/\"e61c42dbb02e81cf5d49f612ab0304ea\"", "cache-control": "private, max-age=60, s-maxage=60", "status": "200 OK", "x-ratelimit-remaining": "4992", "x-served-by": "d594a23ec74671eba905bf91ef329026", "access-control-expose-headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "transfer-encoding": "chunked", "x-github-request-id": "97E45D32:135D3:6A62260:56A8616D", "access-control-allow-credentials": "true", "last-modified": "Wed, 27 Jan 2016 06:16:46 GMT", "date": "Wed, 27 Jan 2016 06:19:26 GMT", "access-control-allow-origin": "*", "content-security-policy": "default-src 'none'", "content-encoding": "gzip", "strict-transport-security": "max-age=31536000; includeSubdomains; preload", "server": "GitHub.com", "x-ratelimit-limit": "5000", "x-frame-options": "deny", "content-type": "application/json; charset=utf-8", "x-ratelimit-reset": "1453878422"}, "status": {"message": "OK", "code": 200}, "url": "https://api.github.com/repos/github3py/delete_contents/readme"}, "recorded_at": "2016-01-27T06:19:25"}, {"request": {"body": {"string": "{\"sha\": \"293a3f2fc33b322ae17ff209c610adfe747dd55a\", \"message\": \"Deleting readme from repository\"}", "encoding": "utf-8"}, "headers": {"Content-Length": "97", "Accept-Encoding": "gzip, deflate", "Accept": "application/vnd.github.v3.full+json", "User-Agent": "github3.py/1.0.0a2", "Accept-Charset": "utf-8", "Connection": "keep-alive", "Content-Type": "application/json", "Authorization": "token <AUTH_TOKEN>"}, "method": "DELETE", "uri": "https://api.github.com/repos/github3py/delete_contents/contents/README.md"}, "response": {"body": {"string": "", "base64_string": "H4sIAAAAAAAAA7WSwU7DMAyGX2XKeaNJ2qRdT0hw5cYJhFCSOm2lpq0a9zChvTsOYxIckJgYt9iO8/l3/jfmphFhRFaP6zBsKQyhp+iNxc6wmlmjpNGCOyWVdCBkDhUvfSWtVuCgorJvQAi2ZesyUEOHOMc6y8zc37Q9dqu9oTezBeYpZqdEPh+yBgZAeP2kf1SyEztmFzA7DMPrd/AX6M+4E+oSklmxm5a0mNEEIKEPBnFz161jS9ohmD6p7zEGOiO6VLhtUzrppyuNwdQmudA7LnayfOS6Fvta6id2PC8e4R8RuABNcP7ZwlZSNU4X0lkNdm+45qAK66tG72VVeQtQ7HlxjZ9N5Jj9mkjrCBCjadPC7pNT+rHdLGCaABu/TIHOZKcep+VA481mIQdHVj+ftZVO6Ebk3goyqjLO5xSXUhjpSl7k3BtV+TxX19B2du0FzD+69tek48vx+A5O0iMi4gMAAA==", "encoding": "utf-8"}, "headers": {"vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "x-github-media-type": "github.v3; param=full; format=json", "x-oauth-scopes": "admin:public_key, gist, repo, user", "x-xss-protection": "1; mode=block", "x-content-type-options": "nosniff", "x-accepted-oauth-scopes": "", "etag": "W/\"dee69476834ba2605db71846bd15f8b0\"", "cache-control": "private, max-age=60, s-maxage=60", "status": "200 OK", "x-ratelimit-remaining": "4991", "x-served-by": "a474937f3b2fa272558fa6dc951018ad", "access-control-expose-headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "transfer-encoding": "chunked", "x-github-request-id": "97E45D32:135D3:6A62286:56A8616E", "access-control-allow-credentials": "true", "date": "Wed, 27 Jan 2016 06:19:26 GMT", "access-control-allow-origin": "*", "content-security-policy": "default-src 'none'", "content-encoding": "gzip", "strict-transport-security": "max-age=31536000; includeSubdomains; preload", "server": "GitHub.com", "x-ratelimit-limit": "5000", "x-frame-options": "deny", "content-type": "application/json; charset=utf-8", "x-ratelimit-reset": "1453878422"}, "status": {"message": "OK", "code": 200}, "url": "https://api.github.com/repos/github3py/delete_contents/contents/README.md"}, "recorded_at": "2016-01-27T06:19:25"}], "recorded_with": "betamax/0.5.0"}
\ No newline at end of file
+{"http_interactions": [{"recorded_at": "2017-01-27T23:50:11", "response": {"url": "https://api.github.com/repos/github3py/delete_contents", "body": {"base64_string": "H4sIAAAAAAAAA+2Y327jKhDGXyXy7cmGpN1NK0tHe97g3PTq3ETYJjEqNhbgVCnqu58P8L9kqzopvay0WrkO8+NjYPDM2IQXSfpr/fNxe3e/XiY1rViSJgUTzLBdLmvDaqOTZbJvhdh1vx64KdvsvjmRP8fJl5qpJLWJkAdeAzUMBsTNtXl4vNv82i4TeqSGql2rBEaVxjQ6JSS81Ktg1WqmOg2rXFakJZ317+Pf9+AdVAdx4AQvLmAN70DBGjRNpnpKU4kLAeFnP346ci+FkC+wv9T74RRkMHMe9AheHz6DgJkl0pQMDsMy3tziuTY3yvEmFgvTZscLB9HYAsWK2yR1RhDkNvvNEsUa6WltpnPFG8NlfaO0M1OgpDrQmr/ST6Bg6k6sE3WjCG8CU3Z0p/42pwQbSxrFjzQ/OXcoljN+hHc/w7swBs6cGheb/04843zOEai0qFyw7anQ7G2ZeA0Gg/2LJaLrqnP+TjgXbNhQTP1Ucr3AP8OqRiqquDgtcByLRXZadNGyak6LvVQLjpsD4em2D8O1wQGGWPzyPKj6MFj9Vowh+I40x5rZoxkIwhMIyHpmp0iSI1iC/7u4yhHsNIOPjJy7M+ZEnqEsmf7pDplhtIoU7xFAlVLGetQjgOJat+yqcz+3fE/SpA+vuq2ycP9dE1Rz8MCAXqo1P9SMRXpywFjSX9OZonVexoJ7iiXhye88PUTKdQSAMiGzSBKin3iMJbqk4fNkdvEKHddRzrCK7b9ArqMMWKOi995LdZgBiu+kwTGI1NpTiO08K2h9aOkhljtgcALcF/1AX2fzm7l4GjmAusxN8az9iitwJDm1Ic3APRDr2hE0Yn328vG3f9YNkzzIO6Kq+Fw+McfsIGeB8CVgd24v4e7v+RToGsmOYsl4a4cPQ8eP83L3Zei1TmfpC5e4CXoKsX811JTuVsNkDVUslushxGYU6dpqtbIloz4dr5iKjuvAAIyqvET6GafV9hTkShU1PtnfO6kFkn8haREZggMGyLChcXoDY3oWGlSukSI9YsqsuEBOK+vYO3jkTOm1NHzP82tqn7kQPEPZ35rXOVtSIZY4gIbnHOcambnbT6SrLNZPgYGloIsQCiDBcMQjva/QjHAUS0LNWrBGyNMX3E8TkAttxVAzFTtqUOncrTfbH+vNj7uHp/U23WzTn9v/MKZtitkxTavLPzCPT+uH9H6Trh8dBldud8rxhK5HqJ3Omw6XFY/rZMBU63I0/Wc0TMPjO02ZzjAXOK4XsXXLvMfLb+I1xhBcyoo1yFaStEYUuXr1Fc+bs5wjl20Nr6P/9EINkmV818dXfZ7SA0qqdyHKk9So1pW3eDPeI5OXL/yZTwc5HXqoP0MBOU5UcaVk15AKWmXD6m6uXhCEh6rRqZ387pfUq/dLKdietsLsQsKOM1VRbdAbQ3nOVIUVIM2AGJt0xXtYizs9vWR37YRn1PSC56zWgxun/ZHvdlvXjvxut42N1I8bk9/ttvNmMLKas14dovT6dlvNzAs6SZM7a1qhdBfM5u1/awphDWwXAAA=", "string": "", "encoding": "utf-8"}, "headers": {"Vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "X-GitHub-Media-Type": "github.drax-preview; format=json", "Content-Security-Policy": "default-src 'none'", "X-RateLimit-Reset": "1485561234", "X-GitHub-Request-Id": "913C:2C93:4138498:52D8182:588BDCB2", "Last-Modified": "Wed, 27 Jan 2016 06:16:46 GMT", "X-Frame-Options": "deny", "Content-Type": "application/json; charset=utf-8", "Status": "200 OK", "X-Accepted-OAuth-Scopes": "repo", "Date": "Fri, 27 Jan 2017 23:50:10 GMT", "X-Content-Type-Options": "nosniff", "X-RateLimit-Remaining": "4943", "Access-Control-Allow-Origin": "*", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "X-OAuth-Scopes": "repo", "X-Served-By": "318e55760cf7cdb40e61175a4d36cd32", "Server": "GitHub.com", "ETag": "W/\"86f11c16739f664d9b922346de133e77\"", "Cache-Control": "private, max-age=60, s-maxage=60", "Content-Encoding": "gzip", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "Transfer-Encoding": "chunked", "X-RateLimit-Limit": "5000", "X-XSS-Protection": "1; mode=block"}, "status": {"code": 200, "message": "OK"}}, "request": {"uri": "https://api.github.com/repos/github3py/delete_contents", "body": {"string": "", "encoding": "utf-8"}, "headers": {"Content-Type": "application/json", "Accept": "application/vnd.github.drax-preview+json", "Accept-Encoding": "gzip, deflate", "User-Agent": "github3.py/1.0.0a4", "Connection": "keep-alive", "Authorization": "token <AUTH_TOKEN>", "Accept-Charset": "utf-8"}, "method": "GET"}}, {"recorded_at": "2017-01-27T23:50:11", "response": {"url": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt", "body": {"string": "{\"content\":{\"name\":\"test.txt\",\"path\":\"test.txt\",\"sha\":\"9a2c7732fab5bcd73ea3ed52d2d9599a4cc47666\",\"size\":7,\"url\":\"https://api.github.com/repos/github3py/delete_contents/contents/test.txt?ref=master\",\"html_url\":\"https://github.com/github3py/delete_contents/blob/master/test.txt\",\"git_url\":\"https://api.github.com/repos/github3py/delete_contents/git/blobs/9a2c7732fab5bcd73ea3ed52d2d9599a4cc47666\",\"download_url\":\"https://raw.githubusercontent.com/github3py/delete_contents/master/test.txt\",\"type\":\"file\",\"_links\":{\"self\":\"https://api.github.com/repos/github3py/delete_contents/contents/test.txt?ref=master\",\"git\":\"https://api.github.com/repos/github3py/delete_contents/git/blobs/9a2c7732fab5bcd73ea3ed52d2d9599a4cc47666\",\"html\":\"https://github.com/github3py/delete_contents/blob/master/test.txt\"}},\"commit\":{\"sha\":\"a623ca5974523ec35fd83909dd99b220e498ef58\",\"url\":\"https://api.github.com/repos/github3py/delete_contents/git/commits/a623ca5974523ec35fd83909dd99b220e498ef58\",\"html_url\":\"https://github.com/github3py/delete_contents/commit/a623ca5974523ec35fd83909dd99b220e498ef58\",\"author\":{\"name\":\"Ian Cordasco\",\"email\":\"sigmavirus24@users.noreply.github.com\",\"date\":\"2017-01-27T23:50:11Z\"},\"committer\":{\"name\":\"Ian Cordasco\",\"email\":\"sigmavirus24@users.noreply.github.com\",\"date\":\"2017-01-27T23:50:11Z\"},\"tree\":{\"sha\":\"adc0d991d0812b918423960234fdcc2bca6ba9e6\",\"url\":\"https://api.github.com/repos/github3py/delete_contents/git/trees/adc0d991d0812b918423960234fdcc2bca6ba9e6\"},\"message\":\"Create test.txt\",\"parents\":[{\"sha\":\"7d52c200d80d86f70fbda3e9ebf48060867f9f65\",\"url\":\"https://api.github.com/repos/github3py/delete_contents/git/commits/7d52c200d80d86f70fbda3e9ebf48060867f9f65\",\"html_url\":\"https://github.com/github3py/delete_contents/commit/7d52c200d80d86f70fbda3e9ebf48060867f9f65\"}]}}", "encoding": "utf-8"}, "headers": {"Vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "X-GitHub-Media-Type": "github.v3; param=full; format=json", "Content-Security-Policy": "default-src 'none'", "X-RateLimit-Reset": "1485561234", "X-GitHub-Request-Id": "913C:2C93:41384A7:52D8190:588BDCB2", "Content-Type": "application/json; charset=utf-8", "Content-Length": "1788", "X-Frame-Options": "deny", "X-XSS-Protection": "1; mode=block", "Status": "201 Created", "X-Accepted-OAuth-Scopes": "", "Date": "Fri, 27 Jan 2017 23:50:11 GMT", "X-Content-Type-Options": "nosniff", "X-RateLimit-Remaining": "4942", "Access-Control-Allow-Origin": "*", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "X-OAuth-Scopes": "repo", "X-Served-By": "d594a23ec74671eba905bf91ef329026", "Server": "GitHub.com", "ETag": "\"78cccef3ab1ce99582b483505a8d4e2f\"", "Cache-Control": "private, max-age=60, s-maxage=60", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "X-RateLimit-Limit": "5000"}, "status": {"code": 201, "message": "Created"}}, "request": {"uri": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt", "body": {"string": "{\"message\": \"Create test.txt\", \"content\": \"dGVzdGluZw==\"}", "encoding": "utf-8"}, "headers": {"Content-Length": "57", "Content-Type": "application/json", "Accept": "application/vnd.github.v3.full+json", "Accept-Encoding": "gzip, deflate", "User-Agent": "github3.py/1.0.0a4", "Connection": "keep-alive", "Authorization": "token <AUTH_TOKEN>", "Accept-Charset": "utf-8"}, "method": "PUT"}}, {"recorded_at": "2017-01-27T23:50:11", "response": {"url": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt", "body": {"base64_string": "H4sIAAAAAAAAA7WSTWrDMBCF76J1sMC/2GC6zA26KAUjS+NYVJaMNcZNQu7eceMWJyWLGLoTT8w3897MmVnRASsYgscAP5HtWC+wvVV8K0jIRSizLAobUSe1VFkEIgKVhCpUeZLnIpYyztI0JYTXJ4JmOzYOhipbxN4XnIteBweN7VgH0nV8gN55fhWi/sgVGECopLMIFj3/ffwM9zJAU3bCIwzUpMXOVLcNVvDH2Nq4ml8pfGWbCu5oT45LAD6zPX8iKeUma5xQd60HMS1JjR6GJYjv0B77+msJj/2820YboLwWCglq/3pSezO+TWX5bukLrHRK2wP91cJDGpNWGW0/PCvOzINp/m2L5Gc7e1Pk892sWm6/mcvlCy84VO8/AwAA", "string": "", "encoding": "utf-8"}, "headers": {"Vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "X-GitHub-Media-Type": "github.v3; param=full; format=json", "Content-Security-Policy": "default-src 'none'", "X-RateLimit-Reset": "1485561234", "X-GitHub-Request-Id": "913C:2C93:41384CD:52D81C4:588BDCB3", "Last-Modified": "Fri, 27 Jan 2017 23:50:11 GMT", "X-Frame-Options": "deny", "Content-Type": "application/json; charset=utf-8", "Status": "200 OK", "X-Accepted-OAuth-Scopes": "", "Date": "Fri, 27 Jan 2017 23:50:11 GMT", "X-Content-Type-Options": "nosniff", "X-RateLimit-Remaining": "4941", "Access-Control-Allow-Origin": "*", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "X-OAuth-Scopes": "repo", "X-Served-By": "ef96c2e493b28ffea49b891b085ed2dd", "Server": "GitHub.com", "ETag": "W/\"db4036393e435dfb4677c0f3555c0060\"", "Cache-Control": "private, max-age=60, s-maxage=60", "Content-Encoding": "gzip", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "Transfer-Encoding": "chunked", "X-RateLimit-Limit": "5000", "X-XSS-Protection": "1; mode=block"}, "status": {"code": 200, "message": "OK"}}, "request": {"uri": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt", "body": {"string": "", "encoding": "utf-8"}, "headers": {"Content-Type": "application/json", "Accept": "application/vnd.github.v3.full+json", "Accept-Encoding": "gzip, deflate", "User-Agent": "github3.py/1.0.0a4", "Connection": "keep-alive", "Authorization": "token <AUTH_TOKEN>", "Accept-Charset": "utf-8"}, "method": "GET"}}, {"recorded_at": "2017-01-27T23:50:13", "response": {"url": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt?ref=master", "body": {"base64_string": "H4sIAAAAAAAAA72Sy2rDMBBFfyVondiybFmWV4V2031XLSXI0sgW+IUkl4bgf6+c1JAuCgkNXY4ec+beuUckh95D71HZT227DWXXmVAdkWsEKlGiJGgmqCaaMqkTWmUZEJwXWnFWAYEEY53yHG3RZNvwofF+dGUci9FEtfHNVEWhZ2xhHFx8PkjHQ6ygBQ/7b/rpJj6zXXwDs/Fdu/8JvoD+jjujbiGJyTeDXYzpRQdB6LPoN4+DVcLJIaiHTphFvzN1Jz6MnRzJHiYH1kX9ENS3hws7wnsl/NKF4ITtcLIj7IWkJcVlQl7RvO7Bw/8RvYUw0Lr3XFaZSiuqBEiRFZqBZDmmDEtZJFoxLquQB8zusfeF7OKricGdDpwT9eLf05Ij09cbD85H/tNvtB26zSluxg/2EAYchQ0Jd6h8W9WJnKRSUM4ySlKQKdWqSDnmSnFeEYIh4wVoWtxD3ZrqG5h/TPXVpPl9nr8Am5a38AIEAAA=", "string": "", "encoding": "utf-8"}, "headers": {"Vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "X-GitHub-Media-Type": "github.v3; param=full; format=json", "Content-Security-Policy": "default-src 'none'", "X-RateLimit-Reset": "1485561234", "X-GitHub-Request-Id": "913C:2C93:41384D5:52D81CE:588BDCB3", "Content-Type": "application/json; charset=utf-8", "X-Frame-Options": "deny", "X-XSS-Protection": "1; mode=block", "Status": "200 OK", "X-Accepted-OAuth-Scopes": "", "Date": "Fri, 27 Jan 2017 23:50:12 GMT", "X-Content-Type-Options": "nosniff", "X-RateLimit-Remaining": "4940", "Access-Control-Allow-Origin": "*", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "X-OAuth-Scopes": "repo", "X-Served-By": "318e55760cf7cdb40e61175a4d36cd32", "Server": "GitHub.com", "ETag": "W/\"dfc258e06d9d41fca25275828fd97590\"", "Cache-Control": "private, max-age=60, s-maxage=60", "Content-Encoding": "gzip", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "Transfer-Encoding": "chunked", "X-RateLimit-Limit": "5000"}, "status": {"code": 200, "message": "OK"}}, "request": {"uri": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt?ref=master", "body": {"string": "{\"message\": \"Deleting test.txt from repository\", \"sha\": \"9a2c7732fab5bcd73ea3ed52d2d9599a4cc47666\"}", "encoding": "utf-8"}, "headers": {"Content-Length": "99", "Content-Type": "application/json", "Accept": "application/vnd.github.v3.full+json", "Accept-Encoding": "gzip, deflate", "User-Agent": "github3.py/1.0.0a4", "Connection": "keep-alive", "Authorization": "token <AUTH_TOKEN>", "Accept-Charset": "utf-8"}, "method": "DELETE"}}], "recorded_with": "betamax/0.8.0"}
\ No newline at end of file
diff --git a/tests/cassettes/Contents_update.json b/tests/cassettes/Contents_update.json
index d5b22a68..544c6042 100644
--- a/tests/cassettes/Contents_update.json
+++ b/tests/cassettes/Contents_update.json
@@ -1,1 +1,1 @@
-{"http_interactions": [{"request": {"body": {"string": "", "encoding": "utf-8"}, "headers": {"Accept-Encoding": "gzip, deflate", "Accept": "application/vnd.github.v3.full+json", "User-Agent": "github3.py/1.0.0a2", "Accept-Charset": "utf-8", "Connection": "keep-alive", "Content-Type": "application/json", "Authorization": "token <AUTH_TOKEN>"}, "method": "GET", "uri": "https://api.github.com/repos/github3py/delete_contents"}, "response": {"body": {"string": "", "base64_string": "H4sIAAAAAAAAA+2Y326jOhDGXyXi9mTjJN1Nu0hHe95gb3q1N5EBB6wajGyTKkV99/PZ5l+yVUnqXlaqKgKenz/GHjMzbcSzKP6x/v6w296tl1FFSxbFUcYEM2yfysqwyuhoGR0aIfbd05yboknu6hP5e5x8rpiK4jYSMucVUMNgQOxcm/uH7ebHbhnRIzVU7RslMKowptYxIf6mXnmrRjPVaVilsiQN6ax/Hf+9Ay9XHcSCI9y4gNW8A3lr0DSZ6ilMKS4E+Mdu/HTkQQohn2F/qffdKchgZj3oELzKP4KAWUukKRgchtd4tS/PtblRjjNp8WLa7HlmIRpLoFh2m6TOCILsYr+2RLFaOlqT6FTx2nBZ3SjtzBQoqXJa8Rf6ARRM7Y61om4U4Uxgyo5219/mFG/TklrxI01P1h2KpYwf4d2P8C6MgTOn2sbm74lnrM85ApVmpQ22AxWavS4jp8FgsLuxRHRdtc/fCOeMDQuKqR8Lrhf4M6yspaKKi9MC2zFbJKdFFy2r+rQ4SLXgODkQnnb5MFwbbGCIxZOnQdW7weqWYgzBN6RZ1swazUAQnkBA1hM7BZIsoSX438VVimCnCXxk5NyZMSfyDNWS6U+7yQyjZaB4hwCqkDLUow4BFNe6YVft+7nXdyRN+vCqmjLx5981QTUH9wzopVrzvGIs0JMDpiX9MZ0oWqVFKLintMRfuZWneaBcSwAoETIJJCH6icO0RBfUf57MPlyh5VrKGVaxwyfItZQBa1Tw2jupFjNA8Z002AaBWnsKaTvPClrlDc1DuQMGO8B+0XP6MpvfzMXTyAHUZm6KJ81nHIEjyar1aQbOgVDXjqAR67KX97/9s26Y5EHOEWXJ5/KJOWYHOQuETwHbfXsJt7/nU6BrJFtKS8ZT238YOn6Yl7svQ691OktfuIRN0FNI+09NTWFPNUxWU8VCuQ5C2oQiXVutVm3BqEvHS6aC49ozAKMqLZB+hmltewpypZIal+wfrNQMyb+QNAsMwQEDpF/QML2eMd0LNSrXQJEOMWWWXCCnlVXoGTxypvRKGn7g6TW1z1wInqHaX5pXKVtSIZbYgIanHPsambldT6SrLNRPnoFXQRfBF0CCYYsHel+hGWEpLfE1a8ZqIU+fcD5NQDa0FUPNlO2pQaWzXW9239abb9v7x/Uu3uzi77s/GNPU2eyYutHFX5iHx/V9vP0Z3zkMjtxul+MKXQ9fO503HS4rHtvJgKnWxWj632gY+8s3mjKdYSqwXS9i65Z5j5ffxGuMIbiQJauRrURxhSiy9eoLrtFqmuQcqWwqeB03n6lBsozv+nirz1N6QEH13kd5FBvV2PIWd8ZzZHLzmT/x6SCrQw/1py8gx4lKrpTsGlJeq6xZ1c01EeSrRqt28vxMvfuRsQNthNn7hB17qqTaoDeG8pypEm+ANANi2qgr3v272N3TS7bHjr9GTT9tiHz117r+41d/beycvt+J/OqvnXd/kcacNecQltf31ypmntE6mpwJ05KkO1E2r/8DMfbCQV0XAAA=", "encoding": "utf-8"}, "headers": {"vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "x-github-media-type": "github.v3; param=full; format=json", "x-oauth-scopes": "admin:public_key, gist, repo, user", "x-xss-protection": "1; mode=block", "x-content-type-options": "nosniff", "x-accepted-oauth-scopes": "repo", "etag": "W/\"2b7352621b54ddc5cc69e260ad86b555\"", "cache-control": "private, max-age=60, s-maxage=60", "status": "200 OK", "x-ratelimit-remaining": "4978", "x-served-by": "cee4c0729c8e9147e7abcb45b9d69689", "access-control-expose-headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "transfer-encoding": "chunked", "x-github-request-id": "97E45D32:14F48:218827:56A9C3BB", "access-control-allow-credentials": "true", "last-modified": "Wed, 27 Jan 2016 06:16:46 GMT", "date": "Thu, 28 Jan 2016 07:31:07 GMT", "access-control-allow-origin": "*", "content-security-policy": "default-src 'none'", "content-encoding": "gzip", "strict-transport-security": "max-age=31536000; includeSubdomains; preload", "server": "GitHub.com", "x-ratelimit-limit": "5000", "x-frame-options": "deny", "content-type": "application/json; charset=utf-8", "x-ratelimit-reset": "1453967471"}, "status": {"message": "OK", "code": 200}, "url": "https://api.github.com/repos/github3py/delete_contents"}, "recorded_at": "2016-01-28T07:31:07"}, {"request": {"body": {"string": "", "encoding": "utf-8"}, "headers": {"Accept-Encoding": "gzip, deflate", "Accept": "application/vnd.github.v3.full+json", "User-Agent": "github3.py/1.0.0a2", "Accept-Charset": "utf-8", "Connection": "keep-alive", "Content-Type": "application/json", "Authorization": "token <AUTH_TOKEN>"}, "method": "GET", "uri": "https://api.github.com/repos/github3py/delete_contents/readme"}, "response": {"body": {"string": "", "base64_string": "H4sIAAAAAAAAA7WSX2vCMBTFv0ufxVRr1Qoy5uZqHb44UBRB0uT2z0zS0KS4TvzuS6eIk/mgYw8h4UB+99xz784SmIPVs6bDx+fJsM6pVbMk1smFpBJslHbHc0O306LYBohc14mcVtdzutBxIkwj2rYbtNUJXcNQ6afBdps1q8iZ+ZpoLVUPISzTepzqpAjrJOMoB5kpdBAcWSIKDDSsSSY0CK3Q6XHy95BD1OdYachNmURztv5Z4Yx+nRuyLEQHCjpv3fy4wN1o2ABQBVfohrBothUsw/SidI63x6wKBfkxiu/Yrjf2S0+6lNWEo5SBSeyIMUJQDjbL+Qej/ixaNL3C3AUdTV5nfiJJOaiOvZw3tqEzTghnCt4GDdKcbQJ/7K5E4FNJ/aSxeJ8UZLSJl9wrA59VFEH4i43nXhGMpow4UxlyUjzF/f5KGAMgSEZTERsHIVbQbhltzVKxUVZvZylg0f+ti8ntfvhdo60W9KzkH5Zzv/8C4g372q0DAAA=", "encoding": "utf-8"}, "headers": {"vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "x-github-media-type": "github.v3; param=full; format=json", "x-oauth-scopes": "admin:public_key, gist, repo, user", "x-xss-protection": "1; mode=block", "x-content-type-options": "nosniff", "x-accepted-oauth-scopes": "", "etag": "W/\"f96980266c26e5e87d6ff79c2b424621\"", "cache-control": "private, max-age=60, s-maxage=60", "status": "200 OK", "x-ratelimit-remaining": "4977", "x-served-by": "5aeb3f30c9e3ef6ef7bcbcddfd9a68f7", "access-control-expose-headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "transfer-encoding": "chunked", "x-github-request-id": "97E45D32:14F48:21884A:56A9C3BB", "access-control-allow-credentials": "true", "last-modified": "Thu, 28 Jan 2016 07:29:36 GMT", "date": "Thu, 28 Jan 2016 07:31:07 GMT", "access-control-allow-origin": "*", "content-security-policy": "default-src 'none'", "content-encoding": "gzip", "strict-transport-security": "max-age=31536000; includeSubdomains; preload", "server": "GitHub.com", "x-ratelimit-limit": "5000", "x-frame-options": "deny", "content-type": "application/json; charset=utf-8", "x-ratelimit-reset": "1453967471"}, "status": {"message": "OK", "code": 200}, "url": "https://api.github.com/repos/github3py/delete_contents/readme"}, "recorded_at": "2016-01-28T07:31:07"}, {"request": {"body": {"string": "{\"content\": \"SEVMTE8=\", \"sha\": \"6795b574da0eef553f348938e73fadfd601d47b5\", \"message\": \"Updating README.md\"}", "encoding": "utf-8"}, "headers": {"Content-Length": "107", "Accept-Encoding": "gzip, deflate", "Accept": "application/vnd.github.v3.full+json", "User-Agent": "github3.py/1.0.0a2", "Accept-Charset": "utf-8", "Connection": "keep-alive", "Content-Type": "application/json", "Authorization": "token <AUTH_TOKEN>"}, "method": "PUT", "uri": "https://api.github.com/repos/github3py/delete_contents/contents/README.md"}, "response": {"body": {"string": "", "base64_string": "H4sIAAAAAAAAA7VUy27bMBD8lUBnx6ReJCWgSIo2x1yK9tKiMPhYWkL1gkghSAP9e5ex4zpGA8SPAjoQK2lmZ3a4T5HuOw+dj8qnqJMtRGX05e7j5/u7ZWuiRTRIXx2UXCWxYgpGc60kF0IBHsHqLGaQUKMgjxMuRWJSSmPEcPVvhM0X0TQ2+Gfl/eBKQuRQL9e1rya11H1LRhh6RzaFdHgkBhrwsNq258jusGvvZgT7oZXOw4gslW+b1WuGPfS3cVXTK7JBIfvK8Y8DuCMbRgASwB05wivTP3RNL80B9Sgftl5NDsatFc+2vS3sH5r84xAGbOsG0LFVU3e/XBi8g8b+v8lgi6eDn+RiyMIe5Rk5mOcF3pC2DRLQp+foc5MnOqHUCHyY5dQqI1MoQNlMUEYF47awLEeLz0p8kL7hduQIzlMvwobqGCY5+aof9zbHvfT+6lM1dWvUDq2swxRq71o8e6/Di9t1KIfo4idG+pDHhMbsmsbXifhKeZnGJeXfo53x4Xr/XU4XpvAjYAcvk2VaZSZVuZGgZSYsB81xt3GqtYit4YVWOdeUX2KygdmRdzOiHS04J9fBsG8DOld366vXq3rEPY73+ceLHGGBCp4zlhTAbZ6ntkAFomC4mQ3PbMZZDEJcNKhHcJ4Z1HczzT/n+Q+GPTUB6AYAAA==", "encoding": "utf-8"}, "headers": {"vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "x-github-media-type": "github.v3; param=full; format=json", "x-oauth-scopes": "admin:public_key, gist, repo, user", "x-xss-protection": "1; mode=block", "x-content-type-options": "nosniff", "x-accepted-oauth-scopes": "", "etag": "W/\"b7558c14fd20e3506470ac71d1d932c0\"", "cache-control": "private, max-age=60, s-maxage=60", "status": "200 OK", "x-ratelimit-remaining": "4976", "x-served-by": "8a5c38021a5cd7cef7b8f49a296fee40", "access-control-expose-headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "transfer-encoding": "chunked", "x-github-request-id": "97E45D32:14F48:21885B:56A9C3BB", "access-control-allow-credentials": "true", "date": "Thu, 28 Jan 2016 07:31:07 GMT", "access-control-allow-origin": "*", "content-security-policy": "default-src 'none'", "content-encoding": "gzip", "strict-transport-security": "max-age=31536000; includeSubdomains; preload", "server": "GitHub.com", "x-ratelimit-limit": "5000", "x-frame-options": "deny", "content-type": "application/json; charset=utf-8", "x-ratelimit-reset": "1453967471"}, "status": {"message": "OK", "code": 200}, "url": "https://api.github.com/repos/github3py/delete_contents/contents/README.md"}, "recorded_at": "2016-01-28T07:31:08"}], "recorded_with": "betamax/0.5.0"}
\ No newline at end of file
+{"http_interactions": [{"response": {"body": {"encoding": "utf-8", "base64_string": "H4sIAAAAAAAAA+2Yz27bOBDGX8XQdV0zThq3EFB032AvPe3FoCXaIkKJAkk5cIS8+35D6p+9QWSHOQYoCkXm/PhxyKFmpk1knqSPd99/bu4f7pZJxUuRpEkulHBim+nKicrZZJnsG6W23a8H6Ypm91Cf2P/H6edKmCRtE6UPsgJqGAwIzbX+8fN+/bhZJvzIHTfbxiiMKpyrbcpYeGlXwaqxwnQaVpkuWcM669/HXw/gHUwHIXCCFxewWnagYA2aZVM9hSvVhYDwsx8/HbnXSuln2F/qfXcKNpiRBz1CVoePIGDWMu0KAYdhGa+0eGndjXK8SYuFWbeVOUEstsCI/DZJnREE0Wa/tsyIWntas7OZkbWTurpR2pkpUNoceCVf+AdQMKUTS6JuFOFNYCqOdOpvc0qwaVlt5JFnJ3KHEZmQR3j3I7wLY+DcqabY/GfiGfK5RKDyvKRg23Nlxesy8RocBvsXS0TXVef8jXDOxbChmPpPIe0C/5woa224keq0wHHMF7vToouWVX1a7LVZSNwcCE/aPgy3DgcYYvHL06Dq3WD1WzGG4BvSiDWzRzMQhCcQkPUkTpEkIrQM/3dxlSHY+Q4+cnruzpgTeYZq2fRPOmRO8DJSvEcAVWgd61GPAEpa24irzv3c8j3Jsj68qqbchfvvmqCagwcG9HJr5aESItKTA6Zl/TW9M7zKilhwT2lZePI7zw+RcokA0E7pXSQJ0c88pmW24OHz5LbxColLlDOsEftPkEuUAetM9N57qYQZoPhOOhyDSK09hbWdZxWvDg0/xHIHDE4AfdEP/GU2v5mLp5EDKGVuRu6az7gCRxKpDWkG7oFY146gEeuzl/e//bNumORB3hFlKefyiTlmBzkLhE8B07m9hNPf8ynQNZKJ0rLx1g4fho4f5+Xuy9Brnc7SFy5xE/QU1v5Vc1fQrYbJam5ELNdDWLvjSNdWq1VbCO7T8VKY6LgODMC4yQqkn3Fa256CXKnkzif7e5KaI/lXmueRIThggAwbGqc3MKZnoUblGinSI6bMUirktLqKvYNHzpReaSf3Mrum9pkLwTNU+9vKKhNLrtQSB9DJTOJcIzOn/US6KmL9FBhYCroIoQBSAkc80vsGzQiitCzUrLmolT59wv00AVFoG4GaKd9yh0rn/m69+Xa3/nb/48/dJl1v0u+bfzGmqfPZMXVjiwnmR4e5f0gfH9L1I2Fw5XanHE/oeoTa6bzpcFnxUCcDptYWo+nfo2EaHt9oynSGmcJxvYitW+Y9Xn4TrzGG4EKXoka2kqQVoojq1Rc8r89yjkw3FbyO/tMzd0iW8V0fX/V5Sg8ouN2GKE9SZxoqb/FmvEcmL5/lk5wOIh12qD9DATlOVEpjdNeQClp1Lapurl4QhIeqkdROfvdL6tX7peRizxvltiFhx5kquXXojaE8F6bECpBmQEybdMV7WAudnl4yXTvhGTW9kpmo7ODGaX/kq93WtSO/2m1jI/X9xuRXu+28GYys5qxXhyi9vt1WCfeMTtLkzppWKN0Fs379D2MlxjdsFwAA", "string": ""}, "headers": {"X-Accepted-OAuth-Scopes": "repo", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "Cache-Control": "private, max-age=60, s-maxage=60", "Status": "200 OK", "X-RateLimit-Reset": "1485561234", "Server": "GitHub.com", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "Transfer-Encoding": "chunked", "ETag": "W/\"e0a392bce31715f40135849e89f270a4\"", "Content-Encoding": "gzip", "X-OAuth-Scopes": "repo", "X-RateLimit-Remaining": "4891", "Content-Type": "application/json; charset=utf-8", "X-Served-By": "474556b853193c38f1b14328ce2d1b7d", "Last-Modified": "Wed, 27 Jan 2016 06:16:46 GMT", "X-GitHub-Media-Type": "github.drax-preview; format=json", "X-GitHub-Request-Id": "A39A:2C94:6F2F8BF:8C5A463:588BDD7B", "Content-Security-Policy": "default-src 'none'", "X-Content-Type-Options": "nosniff", "X-Frame-Options": "deny", "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "Date": "Fri, 27 Jan 2017 23:53:31 GMT", "X-RateLimit-Limit": "5000", "X-XSS-Protection": "1; mode=block", "Access-Control-Allow-Origin": "*"}, "url": "https://api.github.com/repos/github3py/delete_contents", "status": {"message": "OK", "code": 200}}, "recorded_at": "2017-01-27T23:53:31", "request": {"body": {"encoding": "utf-8", "string": ""}, "headers": {"Connection": "keep-alive", "Accept-Charset": "utf-8", "User-Agent": "github3.py/1.0.0a4", "Authorization": "token <AUTH_TOKEN>", "Accept-Encoding": "gzip, deflate", "Content-Type": "application/json", "Accept": "application/vnd.github.drax-preview+json"}, "method": "GET", "uri": "https://api.github.com/repos/github3py/delete_contents"}}, {"response": {"body": {"encoding": "utf-8", "string": "{\"content\":{\"name\":\"test.txt\",\"path\":\"test.txt\",\"sha\":\"9a2c7732fab5bcd73ea3ed52d2d9599a4cc47666\",\"size\":7,\"url\":\"https://api.github.com/repos/github3py/delete_contents/contents/test.txt?ref=master\",\"html_url\":\"https://github.com/github3py/delete_contents/blob/master/test.txt\",\"git_url\":\"https://api.github.com/repos/github3py/delete_contents/git/blobs/9a2c7732fab5bcd73ea3ed52d2d9599a4cc47666\",\"download_url\":\"https://raw.githubusercontent.com/github3py/delete_contents/master/test.txt\",\"type\":\"file\",\"_links\":{\"self\":\"https://api.github.com/repos/github3py/delete_contents/contents/test.txt?ref=master\",\"git\":\"https://api.github.com/repos/github3py/delete_contents/git/blobs/9a2c7732fab5bcd73ea3ed52d2d9599a4cc47666\",\"html\":\"https://github.com/github3py/delete_contents/blob/master/test.txt\"}},\"commit\":{\"sha\":\"fb2a74614c16264b5e61fa892ad10448f049b9f4\",\"url\":\"https://api.github.com/repos/github3py/delete_contents/git/commits/fb2a74614c16264b5e61fa892ad10448f049b9f4\",\"html_url\":\"https://github.com/github3py/delete_contents/commit/fb2a74614c16264b5e61fa892ad10448f049b9f4\",\"author\":{\"name\":\"Ian Cordasco\",\"email\":\"sigmavirus24@users.noreply.github.com\",\"date\":\"2017-01-27T23:53:31Z\"},\"committer\":{\"name\":\"Ian Cordasco\",\"email\":\"sigmavirus24@users.noreply.github.com\",\"date\":\"2017-01-27T23:53:31Z\"},\"tree\":{\"sha\":\"adc0d991d0812b918423960234fdcc2bca6ba9e6\",\"url\":\"https://api.github.com/repos/github3py/delete_contents/git/trees/adc0d991d0812b918423960234fdcc2bca6ba9e6\"},\"message\":\"Create test.txt\",\"parents\":[{\"sha\":\"6c00b51b2b96ee0825d47ace00bb97b650d127e8\",\"url\":\"https://api.github.com/repos/github3py/delete_contents/git/commits/6c00b51b2b96ee0825d47ace00bb97b650d127e8\",\"html_url\":\"https://github.com/github3py/delete_contents/commit/6c00b51b2b96ee0825d47ace00bb97b650d127e8\"}]}}"}, "headers": {"X-Accepted-OAuth-Scopes": "", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "Content-Length": "1788", "Cache-Control": "private, max-age=60, s-maxage=60", "Content-Security-Policy": "default-src 'none'", "X-RateLimit-Reset": "1485561234", "Server": "GitHub.com", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "ETag": "\"067e7bfa1d18c395514875effb397455\"", "X-OAuth-Scopes": "repo", "X-RateLimit-Remaining": "4890", "Content-Type": "application/json; charset=utf-8", "X-Served-By": "edf23fdc48375d9066b698b8d98062e9", "X-GitHub-Media-Type": "github.v3; param=full; format=json", "X-GitHub-Request-Id": "A39A:2C94:6F2F8C7:8C5A471:588BDD7B", "Status": "201 Created", "X-Content-Type-Options": "nosniff", "X-Frame-Options": "deny", "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "Date": "Fri, 27 Jan 2017 23:53:32 GMT", "X-RateLimit-Limit": "5000", "X-XSS-Protection": "1; mode=block", "Access-Control-Allow-Origin": "*"}, "url": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt", "status": {"message": "Created", "code": 201}}, "recorded_at": "2017-01-27T23:53:32", "request": {"body": {"encoding": "utf-8", "string": "{\"content\": \"dGVzdGluZw==\", \"message\": \"Create test.txt\"}"}, "headers": {"Connection": "keep-alive", "Content-Length": "57", "Accept-Charset": "utf-8", "User-Agent": "github3.py/1.0.0a4", "Authorization": "token <AUTH_TOKEN>", "Accept-Encoding": "gzip, deflate", "Content-Type": "application/json", "Accept": "application/vnd.github.v3.full+json"}, "method": "PUT", "uri": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt"}}, {"response": {"body": {"encoding": "utf-8", "base64_string": "H4sIAAAAAAAAA7WSTWrDMBCF76J1sMC/2GC6zA26KAUjS+NYVJaMNcZNQu7eceMWJyWLGLoTT8w3897MmVnRASsYgscAP5HtWC+wvVV8K0jIRSizLAobUSe1VFkEIgKVhCpUeZLnIpYyztI0JYTXJ4JmOzYOhipbxN4XnIteBweN7VgH0nV8gN55fhWi/sgVGECopLMIFj3/ffwM9zJAU3bCIwzUpMXOVLcNVvDH2Nq4ml8pfGWbCu5oT45LAD6zPX8iKeUma5xQd60HMS1JjR6GJYjv0B77+msJj/2820YboLwWCglq/3pSezO+TWX5bukLrHRK2wP91cJDGpNWGW0/PCvOzINp/m2L5Gc7e1Pk892sWm6/mcvlCy84VO8/AwAA", "string": ""}, "headers": {"X-Accepted-OAuth-Scopes": "", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "Cache-Control": "private, max-age=60, s-maxage=60", "Status": "200 OK", "X-RateLimit-Reset": "1485561234", "Server": "GitHub.com", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "Transfer-Encoding": "chunked", "ETag": "W/\"db4036393e435dfb4677c0f3555c0060\"", "Content-Encoding": "gzip", "X-OAuth-Scopes": "repo", "X-RateLimit-Remaining": "4889", "Content-Type": "application/json; charset=utf-8", "X-Served-By": "88531cdcf1929112ec480e1806d44a33", "Last-Modified": "Fri, 27 Jan 2017 23:53:31 GMT", "X-GitHub-Media-Type": "github.v3; param=full; format=json", "X-GitHub-Request-Id": "A39A:2C94:6F2F912:8C5A4CA:588BDD7C", "Content-Security-Policy": "default-src 'none'", "X-Content-Type-Options": "nosniff", "X-Frame-Options": "deny", "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "Date": "Fri, 27 Jan 2017 23:53:32 GMT", "X-RateLimit-Limit": "5000", "X-XSS-Protection": "1; mode=block", "Access-Control-Allow-Origin": "*"}, "url": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt", "status": {"message": "OK", "code": 200}}, "recorded_at": "2017-01-27T23:53:32", "request": {"body": {"encoding": "utf-8", "string": ""}, "headers": {"Connection": "keep-alive", "Accept-Charset": "utf-8", "User-Agent": "github3.py/1.0.0a4", "Authorization": "token <AUTH_TOKEN>", "Accept-Encoding": "gzip, deflate", "Content-Type": "application/json", "Accept": "application/vnd.github.v3.full+json"}, "method": "GET", "uri": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt"}}, {"response": {"body": {"encoding": "utf-8", "base64_string": "H4sIAAAAAAAAA7VUy27bMBD8lUBnx3zqZaBIgJ56by8tCmMpLi2heoGkmrqB/71kbKdyggCxk1wEghBndmZn9z6pht5j75PVfdJDh8kq8ej80v/xySIZwdenN66GcKHLjKaVgrwoFIYjmkqyDDnVClPGcyi4FpSyAOGavwE0XSSTbcPL2vvRrQiBsVluGl9PalkNHbE4Do7sL8S4JRpb9Lg+FOfI4+FY3I1F86kD59EGktp37fqUYAb+MqxqB0X2KGQmOzx4gnZmuQGARGxHznBKD3d9O4B+Qm3h7uDU5NAejHgw7WVdzyX57Rh7a5oWg1/rtul/udhzh635sLaEAi/HvsjDGIQZ5eUh2O0WYTS6LioILj2kXhYAgtGiqAqqkDEpBQVFKUqVi9wYzAExL2Pq3xT2qHzP7cgZnJcOwZ7qHCaYfD3Y2cr4Av3V58FqcNUQ1GMHTWyDazYd/G7s5Li8jel1y34Io95uZ7Mf/tfgYzg5Zfk1Zdc8/8rFKhUrwb8nj32Ik/5/SX0so7cYCjr2XWuqtOQgisoIIzNhBGWVYFoCL3X8ZqlSgr5H3yNz2BqvZQzudOgcbKJ/38ZgZNNvrk42uA3bPYz6j6MaozjkMmOyYhnPpEoxYwaKkoNmVMrCUFmq0sj3UHNM8Rmcb0zxq5l2P3e7f2fhkcT+BgAA", "string": ""}, "headers": {"X-Accepted-OAuth-Scopes": "", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "Cache-Control": "private, max-age=60, s-maxage=60", "Status": "200 OK", "X-RateLimit-Reset": "1485561234", "Server": "GitHub.com", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "Transfer-Encoding": "chunked", "ETag": "W/\"228f97ea9c74ef83d9cfd8f2c235494a\"", "Content-Encoding": "gzip", "X-OAuth-Scopes": "repo", "X-RateLimit-Remaining": "4888", "Content-Type": "application/json; charset=utf-8", "X-Served-By": "b0ef53392caa42315c6206737946d931", "X-GitHub-Media-Type": "github.v3; param=full; format=json", "X-GitHub-Request-Id": "A39A:2C94:6F2F922:8C5A4E9:588BDD7C", "Content-Security-Policy": "default-src 'none'", "X-Content-Type-Options": "nosniff", "X-Frame-Options": "deny", "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "Date": "Fri, 27 Jan 2017 23:53:33 GMT", "X-RateLimit-Limit": "5000", "X-XSS-Protection": "1; mode=block", "Access-Control-Allow-Origin": "*"}, "url": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt?ref=master", "status": {"message": "OK", "code": 200}}, "recorded_at": "2017-01-27T23:53:33", "request": {"body": {"encoding": "utf-8", "string": "{\"sha\": \"9a2c7732fab5bcd73ea3ed52d2d9599a4cc47666\", \"message\": \"Updating test.txt\", \"content\": \"SEVMTE8=\"}"}, "headers": {"Connection": "keep-alive", "Content-Length": "106", "Accept-Charset": "utf-8", "User-Agent": "github3.py/1.0.0a4", "Authorization": "token <AUTH_TOKEN>", "Accept-Encoding": "gzip, deflate", "Content-Type": "application/json", "Accept": "application/vnd.github.v3.full+json"}, "method": "PUT", "uri": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt?ref=master"}}, {"response": {"body": {"encoding": "utf-8", "base64_string": "H4sIAAAAAAAAA72Sy2rDMBBFfyVondiSJVu2V4V2031XLSWM5PED/EKSS0Pwv1dOakgXhYSGLkePOXPv3CPRQ++wdyTvp7bd+rLrGl8dia2B5IRyEUvBI6qgjMosU4yxNI5oIlDEaZxgViSySJBsyWRa/6F2brR5GMLYBFXj6kkFvmdocBxseD7g4yEssEWH+2/66SY8s214A7N2Xbv/Cb6A/o47o24hweTqwSzG9NChF/oM/eZxMAVYPXj12EGz6LdN1cFHYyYbiYfJorFBP3j17eHCDv++ALd0iSiTO8p2kXyJeB7znPNXMq97cPh/RGfQD7TuPdFKFFzFBaAGkZYStUxoLKnWKSsLmWkVS03lPfa+kG14NdG706G1UC3+PS05avpq49C6wH26TWmGbnOKW+MGc/ADjmB8wi3J31Z1IgXgjKapTqlCxoTgFBSlKJTksixRAqLM2D3Uram+gfnHVF9Nmt/n+QvEiSHCAgQAAA==", "string": ""}, "headers": {"X-Accepted-OAuth-Scopes": "", "Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload", "Cache-Control": "private, max-age=60, s-maxage=60", "Status": "200 OK", "X-RateLimit-Reset": "1485561234", "Server": "GitHub.com", "Access-Control-Expose-Headers": "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval", "Transfer-Encoding": "chunked", "ETag": "W/\"c8cc191f28fbb16963cad0d7b03c6267\"", "Content-Encoding": "gzip", "X-OAuth-Scopes": "repo", "X-RateLimit-Remaining": "4887", "Content-Type": "application/json; charset=utf-8", "X-Served-By": "8dd185e423974a7e13abbbe6e060031e", "X-GitHub-Media-Type": "github.v3; param=full; format=json", "X-GitHub-Request-Id": "A39A:2C94:6F2F973:8C5A55D:588BDD7D", "Content-Security-Policy": "default-src 'none'", "X-Content-Type-Options": "nosniff", "X-Frame-Options": "deny", "Vary": "Accept, Authorization, Cookie, X-GitHub-OTP", "Date": "Fri, 27 Jan 2017 23:53:34 GMT", "X-RateLimit-Limit": "5000", "X-XSS-Protection": "1; mode=block", "Access-Control-Allow-Origin": "*"}, "url": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt?ref=master", "status": {"message": "OK", "code": 200}}, "recorded_at": "2017-01-27T23:53:34", "request": {"body": {"encoding": "utf-8", "string": "{\"sha\": \"d9605cba788be605efc416e20dbe5127a82d3001\", \"message\": \"Deleting test.txt from repository\"}"}, "headers": {"Connection": "keep-alive", "Content-Length": "99", "Accept-Charset": "utf-8", "User-Agent": "github3.py/1.0.0a4", "Authorization": "token <AUTH_TOKEN>", "Accept-Encoding": "gzip, deflate", "Content-Type": "application/json", "Accept": "application/vnd.github.v3.full+json"}, "method": "DELETE", "uri": "https://api.github.com/repos/github3py/delete_contents/contents/test.txt?ref=master"}}], "recorded_with": "betamax/0.8.0"}
\ No newline at end of file
diff --git a/tests/integration/test_repos_repo.py b/tests/integration/test_repos_repo.py
index 3aa9475a..7489728e 100644
--- a/tests/integration/test_repos_repo.py
+++ b/tests/integration/test_repos_repo.py
@@ -1135,8 +1135,9 @@ class TestContents(helper.IntegrationHelper):
         cassette_name = self.cassette_name('delete')
         with self.recorder.use_cassette(cassette_name):
             repository = self.gh.repository('github3py', 'delete_contents')
-            content = repository.readme()
-            deleted = content.delete('Deleting readme from repository')
+            repository.create_file('test.txt', 'Create test.txt', b'testing')
+            content = repository.file_contents('test.txt')
+            deleted = content.delete('Deleting test.txt from repository')
 
         assert deleted
 
@@ -1146,13 +1147,17 @@ class TestContents(helper.IntegrationHelper):
         cassette_name = self.cassette_name('update')
         with self.recorder.use_cassette(cassette_name):
             repository = self.gh.repository('github3py', 'delete_contents')
-            content = repository.readme()
-            update = content.update(message='Updating README.md',
+            repository.create_file('test.txt', 'Create test.txt', b'testing')
+            content = repository.file_contents('test.txt')
+            update = content.update(message='Updating test.txt',
                                     content=b'HELLO')
+            assert isinstance(update, dict)
+            assert isinstance(update['content'],
+                              github3.repos.contents.Contents)
+            assert isinstance(update['commit'], github3.git.Commit)
 
-        assert isinstance(update, dict)
-        assert isinstance(update['content'], github3.repos.contents.Contents)
-        assert isinstance(update['commit'], github3.git.Commit)
+            # Clean-up
+            update['content'].delete('Deleting test.txt from repository')
 
 
 class TestHook(helper.IntegrationHelper):
diff --git a/tests/unit/test_models.py b/tests/unit/test_models.py
index e06ff8c3..4fa6fde9 100644
--- a/tests/unit/test_models.py
+++ b/tests/unit/test_models.py
@@ -216,3 +216,24 @@ class TestGitHubCore(helper.UnitHelper):
     def test_strptime_time_str_required(self):
         """Verify that method converts ISO 8601 formatted string."""
         assert self.instance._strptime('') is None
+
+
+class TestGitHubCoreIssue672(helper.UnitHelper):
+
+    described_class = MyTestRefreshClass
+    last_modified = datetime.now().strftime(
+        '%a, %d %b %Y %H:%M:%S GMT'
+    )
+    url = 'https://api.github.com/foo?bar=1'
+    etag = '644b5b0155e6404a9cc4bd9d8b1ae730'
+    example_data = {
+        'url': url,
+        'last_modified': last_modified,
+        'etag': etag,
+        'fake_attr': 'foo',
+    }
+
+    def test_issue_672(self):
+        """Verify that _api property contains URL query"""
+        assert '?' in self.instance._api
+        assert self.instance._api == self.url
diff --git a/tests/unit/test_repos_repo.py b/tests/unit/test_repos_repo.py
index 564d7ebc..654bc8f8 100644
--- a/tests/unit/test_repos_repo.py
+++ b/tests/unit/test_repos_repo.py
@@ -24,6 +24,7 @@ compare_url_for = helper.create_url_helper(
 )
 contents_url_for = helper.create_url_helper(
     'https://api.github.com/repos/github3py/github3.py/contents/README.rst'
+    '?ref=master'
 )
 hook_url_for = helper.create_url_helper(
     'https://api.github.com/repos/octocat/Hello-World/hooks/1'