1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-09 01:03:24 +00:00

Maintain support to python 3.4 and aiohttp

This commit is contained in:
Luiz Menezes
2018-05-06 19:09:32 -03:00
parent 6ab508d67d
commit bd08e5119f

View File

@@ -1,13 +1,22 @@
import asyncio
import aiohttp
async def aiohttp_request(loop, method, url, output='text', **kwargs): # NOQA: E999
async with aiohttp.ClientSession(loop=loop) as session: # NOQA: E999
async with session.request(method, url, **kwargs) as response: # NOQA: E999
if output == 'text':
content = await response.text() # NOQA: E999
elif output == 'json':
content = await response.json() # NOQA: E999
elif output == 'raw':
content = await response.read() # NOQA: E999
return response, content
@asyncio.coroutine
def aiohttp_request(loop, method, url, output='text', **kwargs):
session = aiohttp.ClientSession(loop=loop)
response_ctx = session.request(method, url, **kwargs) # NOQA: E999
response = yield from response_ctx.__aenter__() # NOQA: E999
if output == 'text':
content = yield from response.text() # NOQA: E999
elif output == 'json':
content = yield from response.json() # NOQA: E999
elif output == 'raw':
content = yield from response.read() # NOQA: E999
response_ctx._resp.close()
yield from session.close()
return response, content