Open
Description
from flask import Flask, jsonify
from lazify import LazyProxy
app = Flask(__name__)
@app.route("/")
def test():
return jsonify(LazyProxy(lambda: {"test": "test"}))
app.run()
This test case raises:
[2018-04-16 09:59:48,336] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
File "/test/.venv/lib/python3.4/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/test/.venv/lib/python3.4/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/test/.venv/lib/python3.4/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/test/.venv/lib/python3.4/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/test/.venv/lib/python3.4/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/test/.venv/lib/python3.4/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "toto.py", line 9, in test
return jsonify(LazyProxy(lambda: {"test": "test"}))
File "/test/.venv/lib/python3.4/site-packages/flask/json.py", line 263, in jsonify
(dumps(data, indent=indent, separators=separators), '\n'),
File "/test/.venv/lib/python3.4/site-packages/flask/json.py", line 123, in dumps
rv = _json.dumps(obj, **kwargs)
File "/usr/lib64/python3.4/json/__init__.py", line 237, in dumps
**kw).encode(obj)
File "/usr/lib64/python3.4/json/encoder.py", line 194, in encode
chunks = list(chunks)
File "/usr/lib64/python3.4/json/encoder.py", line 429, in _iterencode
o = _default(o)
File "/test/.venv/lib/python3.4/site-packages/flask/json.py", line 80, in default
return _json.JSONEncoder.default(self, o)
File "/usr/lib64/python3.4/json/encoder.py", line 173, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <lazify.LazyProxy object at 0x7f6ea61340a0> is not JSON serializable
127.0.0.1 - - [16/Apr/2018 09:59:48] "GET / HTTP/1.1" 500
Versions in use:
- Lazify==0.3.1
- Flask==0.12.2
- Werkzeug==0.14.1
Metadata
Metadata
Assignees
Labels
No labels