Skip to content

Response content is omitted if it is erroneous #1843

Open
@sardok

Description

@sardok

Long story short

Some http response content could be broken, in this case caller should be able to allow access to raw response content.

Expected behaviour

Disable the gzip decompression on demand and return the raw data.

Actual behaviour

Changes due to set env variable, see below.

Steps to reproduce

import aiohttp
import asyncio
run = asyncio.get_event_loop().run_until_complete
resp = run(aiohttp.request('get', 'http://www.rofu.de'))
#FlowControlStreamReader protocol  <aiohttp.client_proto.ResponseHandler object at 0x7f3155d75fd0>
run(resp.read())
#b''

when AIOHTTP_NO_EXTENSIONS=1

import aiohttp
import asyncio
run = asyncio.get_event_loop().run_until_complete
resp = run(aiohttp.request('get', 'http://www.rofu.de'))
#FlowControlStreamReader protocol  <aiohttp.client_proto.ResponseHandler object at 0x7f41ad5fc6a0>
len(run(resp.read()))  # blocks and raises TimeoutError 

Your environment

python 3.5.2
aiohttp 2.0.7
ubuntu 16.04

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions