From e636f0dd3e8220c21f8cf3f76991b87e7a0e17e7 Mon Sep 17 00:00:00 2001 From: Nikhil Rao Date: Thu, 1 Dec 2022 10:55:58 -0800 Subject: [PATCH] Add function to insert app middleware (#22) --- pynecone/__init__.py | 1 + pynecone/app.py | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/pynecone/__init__.py b/pynecone/__init__.py index a619370ad..4673f2217 100644 --- a/pynecone/__init__.py +++ b/pynecone/__init__.py @@ -9,6 +9,7 @@ from .components import * from .config import Config from .constants import Env from .event import console_log, redirect, window_alert +from .middleware import Middleware from .model import Model, session from .state import ComputedVar as var from .state import State diff --git a/pynecone/app.py b/pynecone/app.py index 7a6ff57b7..7d50a760f 100644 --- a/pynecone/app.py +++ b/pynecone/app.py @@ -162,6 +162,18 @@ class App(Base): if out is not None: return out + def add_middleware(self, middleware: Middleware, index: Optional[int] = None): + """Add middleware to the app. + + Args: + middleware: The middleware to add. + index: The index to add the middleware at. + """ + if index is None: + self.middleware.append(middleware) + else: + self.middleware.insert(index, middleware) + def add_page( self, component: Union[Component, ComponentCallable],