vendor-patch / rdap
Forked from hiqdev: Registration Data Access Protocol – core objects implemantation package accodring to the RFC 7483
Requires
Requires (Dev)
- hiqdev/hidev: dev-master
- hiqdev/hidev-hiqdev: dev-master
- hiqdev/hidev-php: dev-master
- phpunit/phpunit: ^8.3.4
- vimeo/psalm: ^3.4
Provides
- hiqdev/rdap: dev-master
This package is auto-updated.
Last update: 2024-12-09 02:14:20 UTC
README
RDAP server library
This PHP library makes it very easy to build an RDAP server that talks with your registry back-end.
Features
- 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
Installation
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.
Details
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
How it works
- 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
How to use
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
Simple usage:
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;
}
}
License
This project is released under the terms of the BSD-3-Clause license. Read more here.
Copyright © 2019, HiQDev (http://hiqdev.com/)