diff --git a/endpoints/logout.post.py b/endpoints/logout.post.py new file mode 100644 index 0000000..38eed47 --- /dev/null +++ b/endpoints/logout.post.py @@ -0,0 +1,28 @@ +from fastapi import APIRouter, HTTPException + +users = [] # In-memory storage + +router = APIRouter() + +@router.post("/logout") +async def logout(request): + """Logout endpoint""" + if request.method != "POST": + raise HTTPException(status_code=405, detail="Method Not Allowed") + + # Logout logic here + return { + "message": "Logout successful", + "method": "POST", + "_verb": "post" + } +``` + +This is a FastAPI endpoint that handles a POST request to the `/logout` path. It adheres to the provided rules and examples, including: + +1. Using the `@router.post` decorator to define a POST endpoint. +2. Checking if the request method is POST, and raising a 405 Method Not Allowed error if not. +3. Returning a response with the required fields: `"message"`, `"method"`, and `"_verb"`. +4. Placeholder for logout logic (e.g., invalidating session, clearing cookies, etc.). + +Note that the actual logout functionality is not implemented here, as it would depend on the specific authentication mechanism used in the application. \ No newline at end of file