Przeglądaj źródła

middleware attr should be private (#4939)

Thomas Brandého 2 miesięcy temu
rodzic
commit
929a8bea22
2 zmienionych plików z 8 dodań i 8 usunięć
  1. 7 7
      reflex/app_mixins/middleware.py
  2. 1 1
      tests/units/test_app.py

+ 7 - 7
reflex/app_mixins/middleware.py

@@ -16,11 +16,11 @@ from .mixin import AppMixin
 class MiddlewareMixin(AppMixin):
     """Middleware Mixin that allow to add middleware to the app."""
 
-    # Middleware to add to the app. Users should use `add_middleware`. PRIVATE.
-    middleware: list[Middleware] = dataclasses.field(default_factory=list)
+    # Middleware to add to the app. Users should use `add_middleware`.
+    _middlewares: list[Middleware] = dataclasses.field(default_factory=list)
 
     def _init_mixin(self):
-        self.middleware.append(HydrateMiddleware())
+        self._middlewares.append(HydrateMiddleware())
 
     def add_middleware(self, middleware: Middleware, index: int | None = None):
         """Add middleware to the app.
@@ -30,9 +30,9 @@ class MiddlewareMixin(AppMixin):
             index: The index to add the middleware at.
         """
         if index is None:
-            self.middleware.append(middleware)
+            self._middlewares.append(middleware)
         else:
-            self.middleware.insert(index, middleware)
+            self._middlewares.insert(index, middleware)
 
     async def _preprocess(self, state: BaseState, event: Event) -> StateUpdate | None:
         """Preprocess the event.
@@ -50,7 +50,7 @@ class MiddlewareMixin(AppMixin):
         Returns:
             An optional state to return.
         """
-        for middleware in self.middleware:
+        for middleware in self._middlewares:
             if asyncio.iscoroutinefunction(middleware.preprocess):
                 out = await middleware.preprocess(app=self, state=state, event=event)  # pyright: ignore [reportArgumentType]
             else:
@@ -74,7 +74,7 @@ class MiddlewareMixin(AppMixin):
         Returns:
             The state update to return.
         """
-        for middleware in self.middleware:
+        for middleware in self._middlewares:
             if asyncio.iscoroutinefunction(middleware.postprocess):
                 out = await middleware.postprocess(
                     app=self,  # pyright: ignore [reportArgumentType]

+ 1 - 1
tests/units/test_app.py

@@ -210,7 +210,7 @@ def test_default_app(app: App):
     Args:
         app: The app to test.
     """
-    assert app.middleware == [HydrateMiddleware()]
+    assert app._middlewares == [HydrateMiddleware()]
     assert app.style == Style()
     assert app.admin_dash is None