From fa1bac30458999e2466b92fc29d546a677e92189 Mon Sep 17 00:00:00 2001
From: AaronBenDaniel <144371000+AaronBenDaniel@users.noreply.github.com>
Date: Sat, 9 Nov 2024 14:39:21 -0500
Subject: [PATCH] feat(api): Add rate-limiting error message
---
src/api/src/main.py | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/api/src/main.py b/src/api/src/main.py
index 0c8076a..cca7941 100644
--- a/src/api/src/main.py
+++ b/src/api/src/main.py
@@ -16,6 +16,7 @@ from create_book import (
import tempfile
from io import BytesIO
from fastapi.staticfiles import StaticFiles
+from aiohttp import ClientResponseError
app = FastAPI()
BUILD_PATH = Path(__file__).parent / "build"
@@ -107,6 +108,13 @@ async def handle_download(
content='The story you tried to download does not exist or has been deleted. Support is available on the Discord',
)
+ except ClientResponseError:
+ # Rate-limit by Wattpad
+ return HTMLResponse(
+ status_code=429,
+ content='Unfortunately, the downloader got rate-limited by Wattpad. Please try again later. Support is available on the Discord',
+ )
+
app.mount("/", StaticFiles(directory=BUILD_PATH), "static")