IMMREX7
# -*- coding: utf-8 -*-
import json
from json.decoder import JSONDecodeError
import logging
import falcon
LOG = logging.getLogger(__name__)
def json_body(req: falcon.Request, *_) -> None:
"""Decode JSON request body and attach to request as `body`.
:param req: The request to be processed
:raises falcon.HTTPBadRequest: In the case of invalid JSON
"""
body = req.bounded_stream.read().decode('utf-8')
try:
req.body = json.loads(body) if body else {}
except JSONDecodeError as ex:
raise falcon.HTTPBadRequest(
code='BAD_JSON',
description=str(ex))
Copyright © 2021 -