From 743edd19ed5a4b95e147d78301706106fff2e17f Mon Sep 17 00:00:00 2001 From: Damir Modyarov Date: Mon, 7 Aug 2023 23:19:06 +0300 Subject: [PATCH] Add base path for relative URLs --- redirect/app.py | 8 ++++---- redirect/settings.py | 5 +---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/redirect/app.py b/redirect/app.py index 3d2b8b2..a09522c 100644 --- a/redirect/app.py +++ b/redirect/app.py @@ -9,7 +9,7 @@ from redirect.db.curd import get_link_by_slug, LinkNotFoundException from redirect.db.dependency import get_db - +from redirect.settings import settings os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") django.setup() @@ -57,15 +57,15 @@ def redirect( if '+' in slug: return RedirectResponse(url=f'/tools/shortener/p/{slug.replace("+", "")}') - link = get_link_by_slug(db, slug) + link_id, link_target = get_link_by_slug(db, slug) save_view_meta.apply_async( kwargs={ - "pk": link[0], + "pk": link_id, "ip": request.client.host, "user_agent": user_agent, "token": sessionid, }, ) - return RedirectResponse(url=link[1]) + return RedirectResponse(url=(settings.relative_base + link_target) if link_target.startswith('/') else link_target) diff --git a/redirect/settings.py b/redirect/settings.py index 10a8f3f..e9f6983 100644 --- a/redirect/settings.py +++ b/redirect/settings.py @@ -6,10 +6,7 @@ class AppSettings(BaseSettings): redirect_slug_cutoff: int = 3 - redirect_host: str = "localhost" - redirect_port: int = 8000 - redirect_reload: bool = False - + relative_base: str = "http://127.0.0.1:8000" database_url: str = "postgresql://postgres:postgres@127.0.0.1:5432/akarpov" class Config: