Add basic login screen with form-based authentication
Adds /login route with HTML template that handles GET (show form) and POST (authenticate). On successful login, sets session cookie and redirects to /. Also adds framework support for redirects and cookies in route handlers. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -49,12 +49,35 @@ export type ProcessedRoute = {
|
||||
handler: InternalHandler;
|
||||
};
|
||||
|
||||
export type CookieOptions = {
|
||||
httpOnly?: boolean;
|
||||
secure?: boolean;
|
||||
sameSite?: "strict" | "lax" | "none";
|
||||
maxAge?: number;
|
||||
path?: string;
|
||||
};
|
||||
|
||||
export type Cookie = {
|
||||
name: string;
|
||||
value: string;
|
||||
options?: CookieOptions;
|
||||
};
|
||||
|
||||
export type Result = {
|
||||
code: HttpCode;
|
||||
contentType: ContentType;
|
||||
result: string;
|
||||
cookies?: Cookie[];
|
||||
};
|
||||
|
||||
export type RedirectResult = Result & {
|
||||
redirect: string;
|
||||
};
|
||||
|
||||
export function isRedirect(result: Result): result is RedirectResult {
|
||||
return "redirect" in result;
|
||||
}
|
||||
|
||||
export type Route = {
|
||||
path: string;
|
||||
methods: Method[];
|
||||
|
||||
Reference in New Issue
Block a user