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
def populate_default_response(self, response: Response): response.status_code = self.status_code response.data = self.body response.headers.update(self.headers)