This PHP library makes it very easy to build an RDAP server that talks with your registry back-end.
- Include this library in your PHP web application to significantly ease implementing an RDAP server and client
- Can be combined with any back-end by simply implementing one or more methods
- All you need to do is retrieve the data and populate some PHP objects
The preferred way to install this project is through composer.
php composer.phar require hiqdev/rdap:dev-master
or add
"hiqdev/rdap": "dev-master"
to the require section of your composer.json.
This library understands and supports the following RFC's:
- RFC-7480 : HTTP Usage in the Registration Data Access Protocol (RDAP)
- RFC-7481 : Security Services for the Registration Data Access Protocol (RDAP)
- RFC-7482 : Registration Data Access Protocol (RDAP) Query Format
- RFC-7483 : JSON Responses for the Registration Data Access Protocol (RDAP)
- RFC-7484 : Finding the Authoritative Registration Data (RDAP) Service
- The library contains a number of PHP objects representing the data structures defined in rfc7483
- You need to write the code to populate these objects whenever a query comes in
We have created a sample project which could help you with your implementation. You can find both the source and instructions in the following project: rdap-server-example
use hiqdev\rdap\core\Infrastructure\Provider\DomainProviderInterface;
use hiqdev\rdap\core\Domain\Constant\Role;
use hiqdev\rdap\core\Domain\Entity\Domain;
use hiqdev\rdap\core\Domain\ValueObject\DomainName;
class DomainProvider implements DomainProviderInterface
{
/** @var object */
private $domainInfo;
public function get(DomainName $domainName): Domain
{
$domain = new Domain(DomainName::of($this->domainInfo->domainName));
$domain->setPort43(DomainName::of($this->domainInfo->rdapServer));
$domain->addEntity($this->domainInfo->getEntity(Role::REGISTRANT()));
return $domain;
}
}
This project is released under the terms of the BSD-3-Clause license. Read more here.
Copyright © 2019, HiQDev (http://hiqdev.com/)