Merge pull request #1180 from ashleysommer/fix_aiohttp_breakages

Fix failing tests when aiohttp>=3.1.0
This commit is contained in:
Raphael Deem 2018-03-29 01:05:50 -07:00 committed by GitHub
commit ef3bdf5408
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 11 deletions

View File

@ -1,5 +1,5 @@
aiofiles aiofiles
aiohttp==1.3.5 aiohttp>=2.3.0
chardet<=2.3.0 chardet<=2.3.0
beautifulsoup4 beautifulsoup4
coverage coverage

View File

@ -58,12 +58,30 @@ class DelayableTCPConnector(TCPConnector):
t = req.loop.time() t = req.loop.time()
print("sending at {}".format(t), flush=True) print("sending at {}".format(t), flush=True)
conn = next(iter(args)) # first arg is connection conn = next(iter(args)) # first arg is connection
if aiohttp.__version__ >= "3.1.0":
try:
delayed_resp = await self.orig_send(*args, **kwargs)
except Exception as e:
return aiohttp.ClientResponse(req.method, req.url,
writer=None, continue100=None, timer=None,
request_info=None, auto_decompress=None, traces=[],
loop=req.loop, session=None)
else:
try: try:
delayed_resp = self.orig_send(*args, **kwargs) delayed_resp = self.orig_send(*args, **kwargs)
except Exception as e: except Exception as e:
return aiohttp.ClientResponse(req.method, req.url) return aiohttp.ClientResponse(req.method, req.url)
return delayed_resp return delayed_resp
if aiohttp.__version__ >= "3.1.0":
# aiohttp changed the request.send method to async
async def send(self, *args, **kwargs):
gen = self.delayed_send(*args, **kwargs)
task = self.req.loop.create_task(gen)
self.send_task = task
self._acting_as = task
return self
else:
def send(self, *args, **kwargs): def send(self, *args, **kwargs):
gen = self.delayed_send(*args, **kwargs) gen = self.delayed_send(*args, **kwargs)
task = self.req.loop.create_task(gen) task = self.req.loop.create_task(gen)