def _wz(self): body, mimetype, headers = self.body headers.update(self.headers) r = WerkzeugResponse( body, status=self.status_code, mimetype=self.mimetype or mimetype, direct_passthrough=False, ) r.headers = headers return r
def _wz(self): body, headers = self.body if len(self.body) > 500: body, headers = self.gzipped_body if self.headers: headers.update(self.headers) r = WerkzeugResponse(body, status=self.status_code, direct_passthrough=False) r.headers = headers return r
:param httprequest: An instance of openerp.http.HttpRequest :param result: The result to return to the client from openerp.http.route :param explicit_session: optional openerp.http.Session :return : Returns the result response with a cookie that expires in x hours """ if isinstance(result, Response) and result.is_qweb: try: result.flatten() except (Exception), e: if request.db: result = request.registry['ir.http']._handle_exception(e) else: raise if isinstance(result, basestring): response = WerkzeugResponse(result, mimetype='text/html') else: response = result if httprequest.session.should_save: self.session_store.save(httprequest.session) cookie_lifespan = 3600 * 12 # 12 hours, maybe set in config? if response.response and not \ isinstance(response, exceptions.HTTPException): response.set_cookie('session_id', httprequest.session.sid, max_age=cookie_lifespan) return response
async def werkzeug() -> ResponseReturnValue: return WerkzeugResponse(b"Hello")
(None, None, True), ((None, 201), None, True), (TEST_RESPONSE, TEST_RESPONSE, False), (("hello", { "X-Header": "bob" }), Response("hello", headers={"X-Header": "bob"}), False), (("hello", 201), Response("hello", 201), False), ( ("hello", 201, { "X-Header": "bob" }), Response("hello", 201, headers={"X-Header": "bob"}), False, ), ( (WerkzeugResponse("hello"), 201, { "X-Header": "bob" }), WerkzeugResponse("hello", 201, {"X-Header": "bob"}), False, ), (InternalServerError(), InternalServerError().get_response(), False), ((val for val in "abcd"), Response((val for val in "abcd")), False), (int, None, True), ], ) async def test_make_response(result: ResponseReturnValue, expected: Union[Response, WerkzeugResponse], raises: bool) -> None: app = Quart(__name__) app.config["RESPONSE_TIMEOUT"] = None