41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
"""
|
|
Author: Michel Peltriaux
|
|
Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany
|
|
Contact: ksp-servicestelle@sgdnord.rlp.de
|
|
Created on: 19.08.22
|
|
|
|
"""
|
|
import json
|
|
|
|
import requests
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.http import JsonResponse, HttpRequest
|
|
|
|
from konova.sub_settings.proxy_settings import PROXIES
|
|
|
|
|
|
@login_required
|
|
def map_client_proxy_view(request: HttpRequest):
|
|
""" Provides proxy functionality for NETGIS map client.
|
|
|
|
Used for fetching content of a provided url
|
|
|
|
Args:
|
|
request (HttpRequest): The incoming request
|
|
|
|
Returns:
|
|
|
|
"""
|
|
url = request.META.get("QUERY_STRING")
|
|
response = requests.get(url, proxies=PROXIES)
|
|
content = response.content
|
|
if isinstance(content, bytes):
|
|
content = content.decode("utf-8")
|
|
body = json.loads(content)
|
|
if response.status_code != 200:
|
|
return JsonResponse({
|
|
"status_code": response.status_code,
|
|
"content": body,
|
|
})
|
|
return JsonResponse(body)
|