def on_post(self, req: falcon.Request, resp: falcon.Response): validate_not_null(req.params, 'user') validate_not_null(req.params, 'password') token = self._controller.login(user=req.params.get("user", None), password=req.params.get( "password", None)) if token: resp.set_cookie(FIELD_AUTH_TOKEN, token) raise falcon.HTTPSeeOther("/") else: raise ValidationError(title="Invalid login", description="Invalid username or password")
def _write_response(self, bolt_resp: BoltResponse, resp: Response): resp.body = bolt_resp.body resp.status = str(bolt_resp.status) resp.set_headers(bolt_resp.first_headers_without_set_cookie()) for cookie in bolt_resp.cookies(): for name, c in cookie.items(): expire_value = c.get("expires", None) expire = (datetime.strptime(expire_value, "%a, %d %b %Y %H:%M:%S %Z") if expire_value else None) resp.set_cookie( name=name, value=c.value, expires=expire, max_age=c.get("max-age", None), domain=c.get("domain", None), path=c.get("path", None), secure=True, http_only=True, )