Просмотр исходного кода

adding session middleware only once at right time

Rodja Trappe 2 лет назад
Родитель
Сommit
28f4491198
3 измененных файлов с 5 добавлено и 3 удалено
  1. 4 0
      main.py
  2. 0 2
      prometheus.py
  3. 1 1
      website/reference.py

+ 4 - 0
main.py

@@ -11,6 +11,7 @@ from pathlib import Path
 
 from fastapi.responses import FileResponse
 from pygments.formatters import HtmlFormatter
+from starlette.middleware.sessions import SessionMiddleware
 
 import prometheus
 from nicegui import Client, app
@@ -23,6 +24,9 @@ from website.style import example_link, features, heading, link_target, section_
 
 prometheus.start_monitor(app)
 
+# session middleware is required for demo in reference and prometheus
+app.add_middleware(SessionMiddleware, secret_key='NiceGUI is awesome!')
+
 app.add_static_files('/favicon', str(Path(__file__).parent / 'website' / 'favicon'))
 app.add_static_files('/fonts', str(Path(__file__).parent / 'website' / 'fonts'))
 

+ 0 - 2
prometheus.py

@@ -4,7 +4,6 @@ import uuid
 
 from fastapi import FastAPI, Request
 from starlette.middleware.base import BaseHTTPMiddleware
-from starlette.middleware.sessions import SessionMiddleware
 
 EXCLUDED_USER_AGENTS = ('bot', 'spider', 'crawler', 'monitor', 'curl',
                         'wget', 'python-requests', 'kuma', 'health check')
@@ -34,6 +33,5 @@ def start_monitor(app: FastAPI) -> None:
             prometheus_client.start_http_server(9062)
 
         app.add_middleware(PrometheusMiddleware)
-        app.add_middleware(SessionMiddleware, secret_key='NiceGUI is awesome!')
     except ModuleNotFoundError:
         logging.info('Prometheus not installed, skipping monitoring')

+ 1 - 1
website/reference.py

@@ -779,7 +779,7 @@ It also enables you to identify sessions using a [session middleware](https://ww
 
         from nicegui import app
 
-        app.add_middleware(SessionMiddleware, secret_key='some_random_string')
+        # app.add_middleware(SessionMiddleware, secret_key='some_random_string')
 
         counter = Counter()
         start = datetime.now().strftime('%H:%M, %d %B %Y')