From 2dca24f330102dd193dded2a224ca8e11a7daef4 Mon Sep 17 00:00:00 2001 From: Erin Song <121973038+erinysong@users.noreply.github.com> Date: Fri, 20 Sep 2024 11:45:13 -0700 Subject: [PATCH] Add initial rdap api endpoint --- src/api/views.py | 13 +++++++++++++ src/registrar/config/urls.py | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/api/views.py b/src/api/views.py index 2199e15ac..87bb9f589 100644 --- a/src/api/views.py +++ b/src/api/views.py @@ -19,6 +19,7 @@ from registrar.utility.s3_bucket import S3ClientError, S3ClientHelper DOMAIN_FILE_URL = "https://raw.githubusercontent.com/cisagov/dotgov-data/main/current-full.csv" +RDAP_URL = "https://rdap.cloudflareregistry.com/rdap/domain/" DOMAIN_API_MESSAGES = { @@ -99,6 +100,18 @@ def available(request, domain=""): return json_response +@require_http_methods(["GET"]) +@login_not_required +def rdap(request, domain=""): + """TODO: Write description + """ + Domain = apps.get_model("registrar.Domain") + domain = request.GET.get("domain", "") + + rdap_response = requests.get(DOMAIN_FILE_URL, domain) + return rdap_response + + @require_http_methods(["GET"]) @login_not_required def get_current_full(request, file_name="current-full.csv"): diff --git a/src/registrar/config/urls.py b/src/registrar/config/urls.py index 9b9ed569e..483db9da6 100644 --- a/src/registrar/config/urls.py +++ b/src/registrar/config/urls.py @@ -31,7 +31,7 @@ from registrar.views.utility.api_views import ( ) from registrar.views.domains_json import get_domains_json from registrar.views.utility import always_404 -from api.views import available, get_current_federal, get_current_full +from api.views import available, rdap, get_current_federal, get_current_full DOMAIN_REQUEST_NAMESPACE = views.DomainRequestWizard.URL_NAMESPACE @@ -183,6 +183,7 @@ urlpatterns = [ path("openid/", include("djangooidc.urls")), path("request/", include((domain_request_urls, DOMAIN_REQUEST_NAMESPACE))), path("api/v1/available/", available, name="available"), + path("api/v1/rdap/", rdap, name="rdap"), path("api/v1/get-report/current-federal", get_current_federal, name="get-current-federal"), path("api/v1/get-report/current-full", get_current_full, name="get-current-full"), path(