DrValera commited on
Commit
17a143d
·
verified ·
1 Parent(s): 9c418dd

Global Limit add (100/10min)

Browse files
Files changed (1) hide show
  1. main.py +4 -0
main.py CHANGED
@@ -25,6 +25,8 @@ def client_ip(request: Request):
25
  return xff.split(",")[0].strip() if xff else (request.client.host or "0.0.0.0")
26
 
27
  limiter = Limiter(key_func=client_ip) # or get_remote_address
 
 
28
  app.state.limiter = limiter
29
  app.add_middleware(SlowAPIMiddleware)
30
 
@@ -291,6 +293,7 @@ async def modelforecast_file(
291
  }
292
  return await _forward_stream("/modelforecast-file/", files=files, data=None, user_token=user_token, method="POST")
293
 
 
294
  @limiter.limit("10/10minute") # 10 calls per 10 minutes per IP
295
  @app.post("/modelfit-file-demo/")
296
  async def modelfit_file_demo(
@@ -328,6 +331,7 @@ async def modelfit_file_demo(
328
  # the path goes to the private demo route
329
  return await _forward_demo_stream("/modelfit-file-demo/", files=files, data=data, method="POST")
330
 
 
331
  @limiter.limit("10/10minute")
332
  @app.post("/modelforecast-file-demo/")
333
  async def modelforecast_file_demo(
 
25
  return xff.split(",")[0].strip() if xff else (request.client.host or "0.0.0.0")
26
 
27
  limiter = Limiter(key_func=client_ip) # or get_remote_address
28
+ GLOBAL_LIMIT = limiter.limit("100/10minute", key_func=lambda r: "global:any") # global limit
29
+
30
  app.state.limiter = limiter
31
  app.add_middleware(SlowAPIMiddleware)
32
 
 
293
  }
294
  return await _forward_stream("/modelforecast-file/", files=files, data=None, user_token=user_token, method="POST")
295
 
296
+ @GLOBAL_LIMIT
297
  @limiter.limit("10/10minute") # 10 calls per 10 minutes per IP
298
  @app.post("/modelfit-file-demo/")
299
  async def modelfit_file_demo(
 
331
  # the path goes to the private demo route
332
  return await _forward_demo_stream("/modelfit-file-demo/", files=files, data=data, method="POST")
333
 
334
+ @GLOBAL_LIMIT
335
  @limiter.limit("10/10minute")
336
  @app.post("/modelforecast-file-demo/")
337
  async def modelforecast_file_demo(