diff --git a/slow/__init__.py b/slow/__init__.py index 144fdd9..94f3593 100644 --- a/slow/__init__.py +++ b/slow/__init__.py @@ -1,4 +1,13 @@ -from .slow import JSONAPI, App, Headers, HTTPResponse, JSONResponse, Request, render +from .slow import ( + JSONAPI, + App, + Headers, + HTTPResponse, + JSONResponse, + Request, + redirect, + render, +) __all__ = [ "JSONAPI", @@ -8,4 +17,5 @@ __all__ = [ "render", "Request", "Headers", + "redirect", ] diff --git a/slow/slow.py b/slow/slow.py index a5b3e47..e0be426 100644 --- a/slow/slow.py +++ b/slow/slow.py @@ -298,6 +298,12 @@ def render(request: Request, file: str | Path, variables: dict[str, Any] = {}) - return HTTPResponse(request, content, content_type="text/html; charset=utf-8") +def redirect(location: str): + return f"HTTP/1.1 301 Temporary Redirect\r\nContent-Length: 0\r\nLocation: {location}".encode( + encoding="utf-8" + ) + + def JSONResponse(request: Request, d: dict, status=200) -> bytes: return HTTPResponse( request, json.dumps(d), status=status, content_type="text/json; charset=utf-8"