From b083db25c876de2d8c3c8e0d3ea0da419e7c1577 Mon Sep 17 00:00:00 2001 From: Mattia Date: Mon, 27 Jan 2025 17:18:11 +0100 Subject: [PATCH] [Fixes #12828] New remote datasets are not registered inside proxy allowed hosts when GeoNode runs asynchoronously --- importer/api/views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/importer/api/views.py b/importer/api/views.py index 09720e4..7472ae6 100644 --- a/importer/api/views.py +++ b/importer/api/views.py @@ -17,7 +17,7 @@ # ######################################################################### import logging -from urllib.parse import urljoin +from urllib.parse import urljoin, urlsplit from django.conf import settings from django.urls import reverse from pathlib import Path @@ -48,6 +48,7 @@ from rest_framework.response import Response from geonode.assets.handlers import asset_handler_registry from geonode.assets.local import LocalAssetHandler +from geonode.proxy.utils import proxy_urls_registry logger = logging.getLogger(__name__) @@ -145,6 +146,10 @@ def create(self, request, *args, **kwargs): action = ExecutionRequestAction.IMPORT.value + if "url" in extracted_params: + # we should register the hosts for the proxy + proxy_urls_registry.register_host(urlsplit(extracted_params["url"]).hostname) + input_params = { **{"files": files, "handler_module_path": str(handler)}, **extracted_params,