konova/konova/views/map_proxy.py
mpeltriaux c08f5145fe Netgis client update
* adds new version to sources
2022-09-12 13:12:59 +02:00

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)