mirror of
https://github.com/getnamingo/registry.git
synced 2025-07-27 04:48:26 +02:00
Updates to the RDAP
This commit is contained in:
parent
9b961aba55
commit
a13da52955
1 changed files with 18 additions and 11 deletions
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue