add sessions for more complete example in `subapp.py` middleware example

Commit 257b4d5 · patx · 2025-08-04T16:09:33-04:00

Changeset
257b4d5300dfcad51cbb9bc21d137ca82a2edcad
Parents
61b68cc0ff2f93552a04b93fee069d82f6c6a793

View source at this commit

Comments

No comments yet.

Log in to comment

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):