Updates to the RDAP

This commit is contained in:
Pinga 2023-08-04 16:44:15 +03:00
parent 9b961aba55
commit a13da52955

View file

@ -18,25 +18,32 @@ $http->on('request', function ($request, $response) {
return; return;
} }
// Extract the request path
$requestPath = $request->server['request_uri'];
// Handle domain query // Handle domain query
if ($request->server['request_uri'] === '/domain') { if (preg_match('#^/domain/([^/?]+)#', $requestPath, $matches)) {
handleDomainQuery($request, $response, $pdo); $domainName = $matches[1];
handleDomainQuery($request, $response, $pdo, $domainName);
} }
// Handle entity (contacts) query // Handle entity (contacts) query
elseif ($request->server['request_uri'] === '/entity') { elseif (preg_match('#^/entity/([^/?]+)#', $requestPath, $matches)) {
handleEntityQuery($request, $response, $pdo); $entityHandle = $matches[1];
handleEntityQuery($request, $response, $pdo, $entityHandle);
} }
// Handle nameserver query // Handle nameserver query
elseif ($request->server['request_uri'] === '/nameserver') { elseif (preg_match('#^/nameserver/([^/?]+)#', $requestPath, $matches)) {
handleNameserverQuery($request, $response, $pdo); $nameserverHandle = $matches[1];
handleNameserverQuery($request, $response, $pdo, $nameserverHandle);
} }
// Handle help query // Handle help query
elseif ($request->server['request_uri'] === '/help') { elseif ($requestPath === '/help') {
handleHelpQuery($request, $response, $pdo); handleHelpQuery($request, $response, $pdo);
} }
// Handle search query (e.g., search for domains by pattern) // Handle search query (e.g., search for domains by pattern)
elseif ($request->server['request_uri'] === '/domains') { elseif (preg_match('#^/domains\?name=([^/?]+)#', $requestPath, $matches)) {
handleSearchQuery($request, $response, $pdo); $searchPattern = $matches[1];
handleSearchQuery($request, $response, $pdo, $searchPattern);
} }
else { else {
$response->status(404); $response->status(404);
@ -50,9 +57,9 @@ $http->on('request', function ($request, $response) {
// Start the server // Start the server
$http->start(); $http->start();
function handleDomainQuery($request, $response, $pdo) { function handleDomainQuery($request, $response, $pdo, $domainName) {
// Extract and validate the domain name from the request // Extract and validate the domain name from the request
$domain = strtoupper(trim($request->get['domain'])); $domain = $domainName;
// ... Perform validation as in the WHOIS server ... // ... Perform validation as in the WHOIS server ...
// Perform the RDAP lookup // Perform the RDAP lookup