patx/micropie
add sessions for more complete example in `subapp.py` middleware example
Commit 257b4d5 · patx · 2025-08-04T16:09:33-04:00
Comments
No comments yet.
Diff
diff --git a/examples/middleware/csrf.py b/examples/middleware/csrf.py
index ef0f350..38eca86 100644
--- a/examples/middleware/csrf.py
+++ b/examples/middleware/csrf.py
@@ -55,7 +55,7 @@ class Root(App):
csrf_token = self.request.session.get("csrf_token", "")
print(f"Rendering form with CSRF token: {csrf_token}")
return f"""<form method="POST" action="/submit">
- <input type="hidden" name="csrf_token" value="{escape(csrf_token)}">
+ <input type="hidden" name="csrf_token" value="{csrf_token}">
<input type="text" name="name">
<button type="submit">Submit</button>
</form>"""
diff --git a/examples/middleware/subapp.py b/examples/middleware/subapp.py
index 84af163..c604c81 100644
--- a/examples/middleware/subapp.py
+++ b/examples/middleware/subapp.py
@@ -8,6 +8,14 @@ class ApiApp(App):
async def users(self, user_id: str):
return {"user_id": user_id, "message": f"User {user_id} from API"}
+ async def visits(self):
+ if "visits" not in self.request.session:
+ self.request.session["visits"] = 1
+ else:
+ self.request.session["visits"] += 1
+ visits = self.request.session["visits"]
+ return f"You have visited {visits} times."
+
# Define a Middleware to Mount the Sub-App
class SubAppMiddleware(HttpMiddleware):
def __init__(self, mount_path: str, subapp: App):