hiqdev / rdap
Registration Data Access Protocol – core objects implemantation package accodring to the RFC 7483
Installs: 92
Dependents: 1
Suggesters: 0
Security: 0
Stars: 5
Watchers: 5
Forks: 4
Open Issues: 1
Type:project
Requires
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- doctrine/annotations: ^1.7
- jeroendesloovere/vcard: ^1.7.2
- league/uri: ^5.3
- marc-mabe/php-enum: ^4.1
- phpdocumentor/reflection-docblock: ^4.3.1
- sabre/vobject: ^4.2.0
- symfony/property-access: ^4.3
- symfony/property-info: ^4.3
- symfony/serializer: ^4.3.4
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
This package is auto-updated.
Last update: 2024-09-16 03:59:09 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/)