示例#1
0
def convert_response(result: RequestsResponse) -> Response:
    """
    Utility function to convert a response for the requests library to our internal (Werkzeug based) Response object.
    """
    if result is None:
        return Response()

    if isinstance(result, LambdaResponse):
        headers = Headers(dict(result.headers))
        for k, values in result.multi_value_headers.items():
            for value in values:
                headers.add(k, value)
    else:
        headers = dict(result.headers)

    response = Response(status=result.status_code, headers=headers)

    if isinstance(result.content, dict):
        response.set_json(result.content)
    elif isinstance(result.content, (str, bytes)):
        response.data = result.content
    else:
        raise ValueError(f"Unhandled content type {type(result.content)}")

    return response
示例#2
0
    def __call__(
        self,
        chain: HandlerChain,
        exception: Exception,
        context: RequestContext,
        response: Response,
    ):
        if response.data:
            # response already set
            return

        LOG.debug("setting internal failure response for %s", exception)
        response.status_code = 500
        response.set_json(
            {
                "message": "Unexpected exception",
                "error": str(exception),
                "type": str(exception.__class__.__name__),
            }
        )
示例#3
0
 def handler_bar(_request: Request, bar, baz) -> Dict[str, any]:
     response = Response()
     response.set_json({"bar": bar, "baz": baz})
     return response
示例#4
0
 def on_get(self, req, resp: Response):
     resp.set_json({"message": "GET/OK"})
示例#5
0
 def ep_index2(_: Request, args) -> Response:
     response = Response()
     response.set_json(dict(method="2", **args))
     return response
示例#6
0
 def ep_all(_: Request, args) -> Response:
     response = Response()
     response.set_json(dict(method="all", **args))
     return response
示例#7
0
 def users(_: Request, args) -> Response:
     response = Response()
     response.set_json(args)
     return response
示例#8
0
 def index(_: Request, args) -> Response:
     response = Response()
     response.set_json(args)
     return response
示例#9
0
 def echo_json(request: Request, args) -> Response:
     response = Response()
     response.set_json(request.json)
     return response