def response(self): message = self.args[0] if self.args else None return HttpResponse( status_code=self.code, body=message, )
def index(request: HttpRequest) -> HttpResponse: if request.method != "get": raise MethodNotAllowed html = render_html("index.html") return HttpResponse(body=html)
def index(request: HttpRequest) -> HttpResponse: if request.method != "get": raise MethodNotAllowed profile_saved = request.session.get("profile") user_saved = User.build(profile_saved) context = _build_context(request, user_new=user_saved, user_saved=user_saved) html = render_html("hello.html", context) return HttpResponse(status_code=400, body=html)
def update(request: HttpRequest) -> Union[HttpResponse, NoReturn]: if request.method != "post": raise Redirect("/hello") user_new = User.build(request.POST) profile_saved = request.session.get("profile", {}) if not user_new.errors: profile_new = asdict(user_new) profile_saved.update(profile_new) request.session["profile"] = profile_saved raise Redirect("/hello", headers=request.session.headers) user_saved = User.build(profile_saved) context = _build_context(request, user_new=user_new, user_saved=user_saved) html = render_html("hello.html", context) return HttpResponse(status_code=400, body=html)
def handle_static(request: HttpRequest, prefix: Optional[str] = None) -> HttpResponse: static_path = STATIC_DIR if prefix: static_path /= prefix if request.file_name: static_path /= request.file_name if not static_path.is_file(): log = (f"file {static_path.resolve().as_posix()}," f" requested by path {request.path}," f"was not found on server") raise NotFound(log) with static_path.open("rb") as src: content = src.read() response = HttpResponse(body=content, content_type=request.content_type) return response
def handle_500(self) -> None: msg = traceback.format_exc() response = HttpResponse(status_code=500, body=msg, content_type="text/plain") self.respond(response)
def handle_405(self) -> None: msg = "Method not allowed" response = HttpResponse(status_code=405, body=msg, content_type="text/plain") self.respond(response)