Open
Description
When i try do
session = yield from get_session(self.request)
session['user'] = user
with user is a document of mongo, my program occur a error:
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/aiohttp/server.py", line 266, in start
yield from self.handle_request(message, payload)
File "/usr/local/lib/python3.4/dist-packages/aiohttp/web.py", line 90, in handle_request
resp = yield from handler(request)
File "/usr/local/lib/python3.4/dist-packages/aiohttp_session/__init__.py", line 144, in middleware
yield from storage.save_session(request, response, session)
File "/usr/lib/python3.4/asyncio/coroutines.py", line 141, in coro
res = func(*args, **kw)
File "/usr/local/lib/python3.4/dist-packages/aiohttp_session/cookie_storage.py", line 52, in save_session
self._get_session_data(session)
File "/usr/lib/python3.4/json/__init__.py", line 230, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python3.4/json/encoder.py", line 192, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.4/json/encoder.py", line 250, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python3.4/json/encoder.py", line 173, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: ObjectId('56d07ade0686372f8e45b3f1') is not JSON serializable
How do i replace 'json' encoder with 'bson.json_until' encoder?
https://github.com/aio-libs/aiohttp_session/blob/master/aiohttp_session/cookie_storage.py#L51
Metadata
Metadata
Assignees
Labels
No labels