Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTPResponse object has no attribute 'chunked' #137

Open
scriptsrc opened this issue Jan 6, 2017 · 8 comments
Open

HTTPResponse object has no attribute 'chunked' #137

scriptsrc opened this issue Jan 6, 2017 · 8 comments

Comments

@scriptsrc
Copy link

Is this a known issue? Any workarounds?

> pip freeze | grep -i cache
CacheControl==0.11.7
requests-cache==0.4.13
> pip freeze | grep -i requests
requests==2.6.0
requests-cache==0.4.13
 # python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> from cachecontrol import CacheControl
>>> sess = requests.session()
>>> cached_sess = CacheControl(sess)
>>> response = cached_sess.get('http://google.com')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/apps/python/local/lib/python2.7/site-packages/requests/sessions.py", line 476, in get
    return self.request('GET', url, **kwargs)
  File "/apps/python/local/lib/python2.7/site-packages/requests/sessions.py", line 464, in request
    resp = self.send(prep, **send_kwargs)
  File "/apps/python/local/lib/python2.7/site-packages/requests/sessions.py", line 602, in send
    history = [resp for resp in gen] if allow_redirects else []
  File "/apps/python/local/lib/python2.7/site-packages/requests/sessions.py", line 195, in resolve_redirects
    allow_redirects=False,
  File "/apps/python/local/lib/python2.7/site-packages/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/apps/python/local/lib/python2.7/site-packages/cachecontrol/adapter.py", line 47, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "/apps/python/local/lib/python2.7/site-packages/requests/adapters.py", line 437, in send
    return self.build_response(request, resp)
  File "/apps/python/local/lib/python2.7/site-packages/cachecontrol/adapter.py", line 100, in build_response
    if response.chunked:
AttributeError: 'HTTPResponse' object has no attribute 'chunked'
@ionrock
Copy link
Contributor

ionrock commented Jan 9, 2017

@MonkeySecurity I believe this is due to a new version of requests. I'm pretty sure @sigmavirus24 might have hit it as well. I unfortunately don't have time to dig into it at the moment.

@sigmavirus24 Did you have a fix for this already related to another PR / Issue?

@sigmavirus24
Copy link
Contributor

I have a fix somewhere. Just need some time to dig it up. I suspect, however, that this is a problem with older versions of requests (which use older versions of urllib3 which didn't have this attribute).

@sigmavirus24
Copy link
Contributor

@ionrock would you be amenable to a larger Travis CI testing matrix to test against older versions of requests?

@ionrock
Copy link
Contributor

ionrock commented Jan 10, 2017

@sigmavirus24 That sounds like a great idea to me!

@kevgliss
Copy link

Any update on this?

elnuno added a commit to elnuno/cachecontrol that referenced this issue Apr 11, 2017
@elnuno
Copy link
Contributor

elnuno commented Apr 11, 2017

The fix is trivial: edit if response.chunked: to if hasattr(response, 'chunked') and response.chunked: in line 100 of cachecontrol/adapter.py. Added as a PR.

@sersorrel
Copy link

Until this is fixed: urllib3 supports HTTPResponse.chunked since urllib3/urllib3@f21c2a2 (1.10.3), and Requests vendors that version of urllib3 since psf/requests@5fcd843 (2.6.1). So, installing/depending on requests >= 2.6.1 will fix the issue.

@erayerdin
Copy link

The issue still persists on master adapter.py. Some really have problems with it and there's not much solutions on the internet.

I can say elnuno's PR works. I just changed the line and it works. Will it be merged yet?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants