mirror of
https://github.com/Findus23/HNReader.git
synced 2024-09-19 15:23:44 +02:00
remove rate-limiting
This commit is contained in:
parent
7321c4af5a
commit
b32848cb4f
2 changed files with 0 additions and 25 deletions
|
@ -1,12 +0,0 @@
|
||||||
from aredis import StrictRedis
|
|
||||||
from ratelimit.backends.redis import RedisBackend, DECREASE_SCRIPT
|
|
||||||
|
|
||||||
|
|
||||||
# noinspection PyMissingConstructor
|
|
||||||
class CustomRedisBackend(RedisBackend):
|
|
||||||
def __init__(
|
|
||||||
self,
|
|
||||||
r: StrictRedis
|
|
||||||
) -> None:
|
|
||||||
self._redis = r
|
|
||||||
self.decrease_function = self._redis.register_script(DECREASE_SCRIPT)
|
|
13
server.py
13
server.py
|
@ -1,7 +1,5 @@
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from aredis import StrictRedis
|
from aredis import StrictRedis
|
||||||
from ratelimit import RateLimitMiddleware, Rule
|
|
||||||
from ratelimit.auths.ip import client_ip
|
|
||||||
from starlette.applications import Starlette
|
from starlette.applications import Starlette
|
||||||
from starlette.requests import Request
|
from starlette.requests import Request
|
||||||
from starlette.responses import JSONResponse, Response
|
from starlette.responses import JSONResponse, Response
|
||||||
|
@ -10,7 +8,6 @@ from starlette.routing import Route
|
||||||
from config import debug, user_agent, redis_socket
|
from config import debug, user_agent, redis_socket
|
||||||
from hnapi import HNClient
|
from hnapi import HNClient
|
||||||
from reader import Reader
|
from reader import Reader
|
||||||
from redis_backend import CustomRedisBackend
|
|
||||||
|
|
||||||
conn = aiohttp.TCPConnector(ttl_dns_cache=60 * 10)
|
conn = aiohttp.TCPConnector(ttl_dns_cache=60 * 10)
|
||||||
session = aiohttp.ClientSession(connector=conn, headers={
|
session = aiohttp.ClientSession(connector=conn, headers={
|
||||||
|
@ -62,13 +59,3 @@ app = Starlette(debug=debug, routes=[
|
||||||
Route('/api/read/{item_id:int}', read),
|
Route('/api/read/{item_id:int}', read),
|
||||||
Route('/api/topstories', topstories),
|
Route('/api/topstories', topstories),
|
||||||
])
|
])
|
||||||
|
|
||||||
if not debug:
|
|
||||||
app.add_middleware(
|
|
||||||
RateLimitMiddleware,
|
|
||||||
authenticate=client_ip,
|
|
||||||
backend=CustomRedisBackend(r),
|
|
||||||
config={
|
|
||||||
r"^/api/": [Rule(minute=4)],
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
Loading…
Reference in a new issue