Example #1
0
    def response(self):
        message = self.args[0] if self.args else None

        return HttpResponse(
            status_code=self.code,
            body=message,
        )
Example #2
0
def index(request: HttpRequest) -> HttpResponse:
    if request.method != "get":
        raise MethodNotAllowed

    html = render_html("index.html")

    return HttpResponse(body=html)
Example #3
0
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)
Example #4
0
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)
Example #5
0
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
Example #6
0
 def handle_500(self) -> None:
     msg = traceback.format_exc()
     response = HttpResponse(status_code=500, body=msg, content_type="text/plain")
     self.respond(response)
Example #7
0
 def handle_405(self) -> None:
     msg = "Method not allowed"
     response = HttpResponse(status_code=405, body=msg, content_type="text/plain")
     self.respond(response)