From f67997a6a17704ab6349a08f3470e0c230e5c281 Mon Sep 17 00:00:00 2001 From: Raymond Jacobson Date: Tue, 29 Oct 2024 15:50:20 -0700 Subject: [PATCH] Fix resolve scheme in url_for --- .../discovery-provider/src/api/v1/utils/resolve_url.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/discovery-provider/src/api/v1/utils/resolve_url.py b/packages/discovery-provider/src/api/v1/utils/resolve_url.py index cc787e1f5b3..eb623fdc186 100644 --- a/packages/discovery-provider/src/api/v1/utils/resolve_url.py +++ b/packages/discovery-provider/src/api/v1/utils/resolve_url.py @@ -8,15 +8,23 @@ from src.api.v1.tracks import ns as tracks_ns from src.api.v1.users import ns as users_ns from src.models.users.user import User +from src.utils.config import shared_config from src.utils.helpers import encode_int_id track_url_regex = re.compile(r"^/(?P[^/]*)/(?P[^/]*)$") playlist_url_regex = re.compile(r"/(?P[^/]*)/(playlist|album)/(?P[^/]*)$") user_url_regex = re.compile(r"^/(?P[^/]*)$") +env = shared_config["discprov"]["env"] + def ns_url_for(ns, route, **kwargs): - return url_for(f"{api_v1.bp.name}.{ns.name}_{route}", **kwargs) + return url_for( + f"{api_v1.bp.name}.{ns.name}_{route}", + _scheme="https" if env == "stage" or env == "prod" else None, + _external=True if env == "stage" or env == "prod" else None, + **kwargs, + ) def resolve_url(session, url):