Переглянути джерело

feat(api): remove dyn endpoint, closes #193

Peter Thomassen 6 роки тому
батько
коміт
8b391c7668
3 змінених файлів з 0 додано та 52 видалено
  1. 0 4
      api/desecapi/urls/version_1.py
  2. 0 47
      api/desecapi/views.py
  3. 0 1
      api/requirements.txt

+ 0 - 4
api/desecapi/urls/version_1.py

@@ -42,10 +42,6 @@ api_urls = [
             views.RRsetDetail.as_view(), name='rrset@'),
     path('domains/<name>/rrsets/<subname>/<type>/', views.RRsetDetail.as_view()),
 
-    # DNS query endpoint
-    # TODO remove?
-    path('dns', views.DnsQuery.as_view(), name='dns-query'),
-
     # DynDNS update endpoint
     path('dyndns/update', views.DynDNS12Update.as_view(), name='dyndns12update'),
 

+ 0 - 47
api/desecapi/views.py

@@ -17,7 +17,6 @@ from django.template.loader import get_template
 from django.utils import timezone
 from djoser import views, signals
 from djoser.serializers import TokenSerializer as DjoserTokenSerializer
-from dns import resolver
 from rest_framework import generics
 from rest_framework import mixins
 from rest_framework import status
@@ -340,52 +339,6 @@ class Root(APIView):
             })
 
 
-class DnsQuery(APIView):
-
-    @staticmethod
-    def get(request, *_):
-        dns_resolver = resolver.Resolver()
-
-        if 'domain' not in request.GET:
-            return Response(status=status.HTTP_400_BAD_REQUEST)
-
-        domain = str(request.GET['domain'])
-
-        def get_records(domain_name, type_):
-            records = []
-            try:
-                for address in dns_resolver.query(domain_name, type_):
-                    records.append(str(address))
-            except resolver.NoAnswer:
-                return []
-            except resolver.NoNameservers:
-                return []
-            except resolver.NXDOMAIN:
-                return []
-            return records
-
-        # find currently active NS records
-        ns_records = get_records(domain, 'NS')
-
-        # find desec.io name server IP address with standard name server
-        ips = dns_resolver.query('ns1.desec.io')
-        dns_resolver.nameservers = []
-        for ip in ips:
-            dns_resolver.nameservers.append(str(ip))
-
-        # query desec.io name server for A and AAAA records
-        a_records = get_records(domain, 'A')
-        aaaa_records = get_records(domain, 'AAAA')
-
-        return Response({
-            'domain': domain,
-            'ns': ns_records,
-            'a': a_records,
-            'aaaa': aaaa_records,
-            '_nameserver': dns_resolver.nameservers
-        })
-
-
 class DynDNS12Update(APIView):
     authentication_classes = (auth.TokenAuthentication, auth.BasicTokenAuthentication, auth.URLParamAuthentication,)
     renderer_classes = [PlainTextRenderer]

+ 0 - 1
api/requirements.txt

@@ -5,7 +5,6 @@ django-nocaptcha-recaptcha==0.0.20  # updated manually
 djangorestframework~=3.9.3
 djangorestframework-bulk~=0.2.0
 djoser~=1.5.1
-dnspython~=1.16.0
 httpretty~=0.9.0
 mysqlclient~=1.4.0
 psl-dns~=1.0rc2