23 lines
594 B
Python
23 lines
594 B
Python
from __future__ import absolute_import
|
|
|
|
import json
|
|
|
|
from falcon import errors
|
|
from falcon.media import BaseHandler
|
|
|
|
|
|
class JSONHandler(BaseHandler):
|
|
"""Handler built using Python's :py:mod:`json` module."""
|
|
|
|
def deserialize(self, raw):
|
|
try:
|
|
return json.loads(raw.decode('utf-8'))
|
|
except ValueError as err:
|
|
raise errors.HTTPBadRequest(
|
|
'Invalid JSON',
|
|
'Could not parse JSON body - {0}'.format(err)
|
|
)
|
|
|
|
def serialize(self, media):
|
|
return json.dumps(media, ensure_ascii=False).encode('utf-8')
|