This commit is contained in:
V
2026-05-09 16:50:14 +01:00
parent 72348ca5fe
commit 8fccddc815
4 changed files with 5 additions and 11 deletions
-6
View File
@@ -1,6 +0,0 @@
def main():
print("Hello from rate-limiters!")
if __name__ == "__main__":
main()
+3 -2
View File
@@ -25,7 +25,6 @@ class RateLimiterMiddleware:
if not limiter:
limiter = self.clients.setdefault(client_ip, AsyncTokenBucketLimiter(10, 10))
self.clients[client_ip] = limiter
try:
async with limiter:
@@ -48,4 +47,6 @@ routes = [Route("/", main)]
middleware = [Middleware(RateLimiterMiddleware)]
app = Starlette(routes=routes, middleware=middleware)
def create_app() -> Starlette:
return Starlette(routes=routes, middleware=middleware)
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/bash
uvicorn --host 0.0.0.0 --port 8001 --reload middleware_starlette:app
uvicorn --host 0.0.0.0 --port 8001 --reload --factory middleware_starlette:create_app
@@ -1,9 +1,8 @@
from time import sleep
from starlette.applications import Starlette
from starlette.testclient import TestClient
from middleware_starlette import app, RateLimiterMiddleware, routes
from middleware_starlette import app
def test_app_runs():
client = TestClient(app)