Closed
Description
I'm trying to POST mutliple values with the same name with aiohttp, but get the following exception:
Traceback (most recent call last):
File "bug.py", line 7, in <module>
loop.run_until_complete(aiohttp.request('POST', "http://httpbin.org/post", data=d))
File "/usr/lib64/python3.4/asyncio/base_events.py", line 208, in run_until_complete
return future.result()
File "/usr/lib64/python3.4/asyncio/futures.py", line 243, in result
raise self._exception
File "/usr/lib64/python3.4/asyncio/tasks.py", line 317, in _step
result = coro.throw(exc)
File "/home/pepijn/code/eppserver/env/lib/python3.4/site-packages/aiohttp/client.py", line 111, in request
yield from resp.start(conn, read_until_eof)
File "/home/pepijn/code/eppserver/env/lib/python3.4/site-packages/aiohttp/client.py", line 604, in start
self.message = yield from httpstream.read()
File "/home/pepijn/code/eppserver/env/lib/python3.4/site-packages/aiohttp/streams.py", line 366, in read
return (yield from super().read())
File "/home/pepijn/code/eppserver/env/lib/python3.4/site-packages/aiohttp/streams.py", line 341, in read
yield from self._waiter
File "/usr/lib64/python3.4/asyncio/futures.py", line 348, in __iter__
yield self # This tells Task to wait for completion.
File "/usr/lib64/python3.4/asyncio/tasks.py", line 370, in _wakeup
value = future.result()
File "/usr/lib64/python3.4/asyncio/futures.py", line 243, in result
raise self._exception
File "/home/pepijn/code/eppserver/env/lib/python3.4/site-packages/aiohttp/client.py", line 496, in write_bytes
request.write(chunk)
File "/home/pepijn/code/eppserver/env/lib/python3.4/site-packages/aiohttp/protocol.py", line 666, in write
chunk is EOF_MARKER), chunk
AssertionError: a
Example code:
import asyncio
import aiohttp
from aiohttp.multidict import MultiDict
loop = asyncio.get_event_loop()
d = MultiDict([('a', 'b'), ('a', 'c')])
loop.run_until_complete(aiohttp.request('POST', "http://httpbin.org/post", data=d))