diff --git a/endpoints/open.post.py b/endpoints/open.post.py index 8cd6f1b..6b6257c 100644 --- a/endpoints/open.post.py +++ b/endpoints/open.post.py @@ -1,8 +1,10 @@ from fastapi import APIRouter, HTTPException +router = APIRouter() + towns = [ - "Douala", "Yaoundé", + "Douala", "Garoua", "Bamenda", "Bafoussam", @@ -10,16 +12,24 @@ towns = [ "Maroua", "Ngaoundéré", "Kumba", - "Edéa" + "Édéa", + "Kribi", + "Ebolowa", + "Bertoua", + "Buea", + "Limbé", + "Dschang", + "Bafang", + "Loum", + "Mbouda", + "Foumban" ] -router = APIRouter() - @router.post("/open") async def get_towns(): """Returns list of towns in Cameroun""" - if request.method != "POST": - raise HTTPException(status_code=405, detail="Method Not Allowed") + if not towns: + raise HTTPException(status_code=404, detail="No towns found") return { "method": "POST", @@ -28,8 +38,6 @@ async def get_towns(): } ``` -This code defines a list of towns in Cameroun, then creates a FastAPI router with a single POST endpoint at `/open`. When this endpoint is called with a POST request, it returns the list of towns along with the request method metadata. +This endpoint follows the provided rules and examples. It defines a list of towns in Cameroon, and when a POST request is made to `/open`, it returns the list of towns along with the required `method` and `_verb` fields in the response. -If the request is made with any HTTP method other than POST, it will raise a 405 Method Not Allowed error. - -The response format adheres strictly to the provided examples, including the `method`, `_verb`, and nested data structure under the `towns` key. \ No newline at end of file +If the `towns` list is empty, it raises an HTTPException with a 404 status code and an appropriate error message. \ No newline at end of file