mirror of
https://github.com/google/nomulus.git
synced 2025-06-10 06:24:45 +02:00
Conform to RDAP Response Profile 15feb19
This is only about the Response Profile, not the Technical Implementation guide. The Response Profile can be found at https://www.icann.org/en/system/files/files/rdap-response-profile-15feb19-en.pdf ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=250277559
This commit is contained in:
parent
19a72ec89b
commit
a457b57621
89 changed files with 4102 additions and 5815 deletions
|
@ -32,6 +32,8 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
|||
@XmlType(name = "dsData")
|
||||
public class DelegationSignerData extends ImmutableObject {
|
||||
|
||||
private DelegationSignerData() {}
|
||||
|
||||
/** The identifier for this particular key in the domain. */
|
||||
int keyTag;
|
||||
|
||||
|
@ -74,6 +76,10 @@ public class DelegationSignerData extends ImmutableObject {
|
|||
return digest;
|
||||
}
|
||||
|
||||
public String getDigestAsString() {
|
||||
return digest == null ? "" : DatatypeConverter.printHexBinary(digest);
|
||||
}
|
||||
|
||||
public static DelegationSignerData create(
|
||||
int keyTag, int algorithm, int digestType, byte[] digest) {
|
||||
DelegationSignerData instance = new DelegationSignerData();
|
||||
|
@ -84,6 +90,11 @@ public class DelegationSignerData extends ImmutableObject {
|
|||
return instance;
|
||||
}
|
||||
|
||||
public static DelegationSignerData create(
|
||||
int keyTag, int algorithm, int digestType, String digestAsHex) {
|
||||
return create(keyTag, algorithm, digestType, DatatypeConverter.parseHexBinary(digestAsHex));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the presentation format of this DS record.
|
||||
*
|
||||
|
|
|
@ -14,6 +14,7 @@ java_library(
|
|||
"//java/google/registry/request",
|
||||
"//java/google/registry/request/auth",
|
||||
"//java/google/registry/util",
|
||||
"//third_party/jaxb",
|
||||
"//third_party/objectify:objectify-v4_1",
|
||||
"@com_google_auto_value",
|
||||
"@com_google_code_findbugs_jsr305",
|
||||
|
|
|
@ -162,8 +162,10 @@ public abstract class RdapActionBase implements Runnable {
|
|||
setPayload(replyObject);
|
||||
metricInformationBuilder.setStatusCode(SC_OK);
|
||||
} catch (HttpException e) {
|
||||
logger.atInfo().withCause(e).log("Error in RDAP");
|
||||
setError(e.getResponseCode(), e.getResponseCodeString(), e.getMessage());
|
||||
} catch (URISyntaxException | IllegalArgumentException e) {
|
||||
logger.atInfo().withCause(e).log("Bad request in RDAP");
|
||||
setError(SC_BAD_REQUEST, "Bad Request", "Not a valid " + getHumanReadableObjectTypeName());
|
||||
} catch (RuntimeException e) {
|
||||
setError(SC_INTERNAL_SERVER_ERROR, "Internal Server Error", "An error was encountered");
|
||||
|
@ -240,18 +242,17 @@ public abstract class RdapActionBase implements Runnable {
|
|||
*/
|
||||
boolean isAuthorized(EppResource eppResource) {
|
||||
return getRequestTime().isBefore(eppResource.getDeletionTime())
|
||||
|| (shouldIncludeDeleted()
|
||||
&& rdapAuthorization
|
||||
.isAuthorizedForClientId(eppResource.getPersistedCurrentSponsorClientId()));
|
||||
|| (shouldIncludeDeleted()
|
||||
&& rdapAuthorization.isAuthorizedForClientId(
|
||||
eppResource.getPersistedCurrentSponsorClientId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the EPP resource should be visible.
|
||||
*
|
||||
* <p>This is true iff:
|
||||
* 1. The resource is not deleted, or the request wants to see deleted items, and is authorized to
|
||||
* do so, and:
|
||||
* 2. The request did not specify a registrar to filter on, or the registrar matches.
|
||||
* <p>This is true iff: 1. The resource is not deleted, or the request wants to see deleted items,
|
||||
* and is authorized to do so, and: 2. The request did not specify a registrar to filter on, or
|
||||
* the registrar matches.
|
||||
*/
|
||||
boolean shouldBeVisible(EppResource eppResource) {
|
||||
return isAuthorized(eppResource)
|
||||
|
@ -262,10 +263,9 @@ public abstract class RdapActionBase implements Runnable {
|
|||
/**
|
||||
* Returns true if the EPP resource should be visible.
|
||||
*
|
||||
* <p>This is true iff:
|
||||
* 1. The passed in resource exists and is not deleted (deleted ones will have been projected
|
||||
* forward in time to empty),
|
||||
* 2. The request did not specify a registrar to filter on, or the registrar matches.
|
||||
* <p>This is true iff: 1. The passed in resource exists and is not deleted (deleted ones will
|
||||
* have been projected forward in time to empty), 2. The request did not specify a registrar to
|
||||
* filter on, or the registrar matches.
|
||||
*/
|
||||
boolean shouldBeVisible(Optional<? extends EppResource> eppResource) {
|
||||
return eppResource.isPresent() && shouldBeVisible(eppResource.get());
|
||||
|
@ -463,19 +463,19 @@ public abstract class RdapActionBase implements Runnable {
|
|||
* Runs the given query, and checks for permissioning if necessary.
|
||||
*
|
||||
* @param query an already-defined query to be run; a filter on currentSponsorClientId will be
|
||||
* added if appropriate
|
||||
* added if appropriate
|
||||
* @param checkForVisibility true if the results should be checked to make sure they are visible;
|
||||
* normally this should be equal to the shouldIncludeDeleted setting, but in cases where
|
||||
* the query could not check deletion status (due to Datastore limitations such as the
|
||||
* limit of one field queried for inequality, for instance), it may need to be set to true
|
||||
* even when not including deleted records
|
||||
* normally this should be equal to the shouldIncludeDeleted setting, but in cases where the
|
||||
* query could not check deletion status (due to Datastore limitations such as the limit of
|
||||
* one field queried for inequality, for instance), it may need to be set to true even when
|
||||
* not including deleted records
|
||||
* @param querySizeLimit the maximum number of items the query is expected to return, usually
|
||||
* because the limit has been set
|
||||
* @return an {@link RdapResultSet} object containing the list of
|
||||
* resources and an incompleteness warning flag, which is set to MIGHT_BE_INCOMPLETE iff
|
||||
* any resources were excluded due to lack of visibility, and the resulting list of
|
||||
* resources is less than the maximum allowable, and the number of items returned by the
|
||||
* query is greater than or equal to the maximum number we might have expected
|
||||
* because the limit has been set
|
||||
* @return an {@link RdapResultSet} object containing the list of resources and an incompleteness
|
||||
* warning flag, which is set to MIGHT_BE_INCOMPLETE iff any resources were excluded due to
|
||||
* lack of visibility, and the resulting list of resources is less than the maximum allowable,
|
||||
* and the number of items returned by the query is greater than or equal to the maximum
|
||||
* number we might have expected
|
||||
*/
|
||||
<T extends EppResource> RdapResultSet<T> getMatchingResources(
|
||||
Query<T> query, boolean checkForVisibility, int querySizeLimit) {
|
||||
|
|
|
@ -43,9 +43,7 @@ final class RdapDataStructures {
|
|||
public JsonArray toJson() {
|
||||
JsonArray jsonArray = new JsonArray();
|
||||
// Conformance to RFC7483
|
||||
// TODO(b/127490882) check if we need to Add back the rdap_level_0 string, as I think that
|
||||
// just means we conform to the RFC, which we do
|
||||
// jsonArray.add("rdap_level_0");
|
||||
jsonArray.add("rdap_level_0");
|
||||
|
||||
// Conformance to the RDAP Response Profile V2.1
|
||||
// (see section 1.3)
|
||||
|
|
|
@ -65,8 +65,6 @@ public class RdapDomainAction extends RdapActionBase {
|
|||
if (!shouldBeVisible(domainBase)) {
|
||||
throw new NotFoundException(pathSearchString + " not found");
|
||||
}
|
||||
return rdapJsonFormatter.makeRdapJsonForDomain(
|
||||
domainBase.get(),
|
||||
OutputDataType.FULL);
|
||||
return rdapJsonFormatter.createRdapDomain(domainBase.get(), OutputDataType.FULL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -122,8 +122,9 @@ public class RdapDomainSearchAction extends RdapSearchActionBase {
|
|||
if (!LDH_PATTERN.matcher(nsLdhNameParam.get()).matches()) {
|
||||
throw new BadRequestException("Invalid value of nsLdhName parameter");
|
||||
}
|
||||
results = searchByNameserverLdhName(
|
||||
recordWildcardType(RdapSearchPattern.create(nsLdhNameParam.get(), true)));
|
||||
results =
|
||||
searchByNameserverLdhName(
|
||||
recordWildcardType(RdapSearchPattern.create(nsLdhNameParam.get(), true)));
|
||||
} else {
|
||||
metricInformationBuilder.setSearchType(SearchType.BY_NAMESERVER_ADDRESS);
|
||||
metricInformationBuilder.setWildcardType(WildcardType.NO_WILDCARD);
|
||||
|
@ -182,9 +183,7 @@ public class RdapDomainSearchAction extends RdapSearchActionBase {
|
|||
return searchByDomainNameByTld(partialStringQuery.getSuffix());
|
||||
}
|
||||
|
||||
/**
|
||||
* Searches for domains by domain name without a wildcard or interest in deleted entries.
|
||||
*/
|
||||
/** Searches for domains by domain name without a wildcard or interest in deleted entries. */
|
||||
private DomainSearchResponse searchByDomainNameWithoutWildcard(
|
||||
final RdapSearchPattern partialStringQuery) {
|
||||
Optional<DomainBase> domainBase =
|
||||
|
@ -388,15 +387,14 @@ public class RdapDomainSearchAction extends RdapSearchActionBase {
|
|||
* <p>In theory, we could have any number of hosts using the same IP address. To make sure we get
|
||||
* all the associated domains, we have to retrieve all of them, and use them to look up domains.
|
||||
* This could open us up to a kind of DoS attack if huge number of hosts are defined on a single
|
||||
* IP. To avoid this, fetch only the first {@link #maxNameserversInFirstStage} nameservers. In
|
||||
* all normal circumstances, this should be orders of magnitude more than there actually are. But
|
||||
* it could result in us missing some domains.
|
||||
* IP. To avoid this, fetch only the first {@link #maxNameserversInFirstStage} nameservers. In all
|
||||
* normal circumstances, this should be orders of magnitude more than there actually are. But it
|
||||
* could result in us missing some domains.
|
||||
*
|
||||
* <p>The includeDeleted parameter does NOT cause deleted nameservers to be searched, only deleted
|
||||
* domains which used to be connected to an undeleted nameserver.
|
||||
*/
|
||||
private DomainSearchResponse searchByNameserverIp(
|
||||
final InetAddress inetAddress) {
|
||||
private DomainSearchResponse searchByNameserverIp(final InetAddress inetAddress) {
|
||||
Query<HostResource> query =
|
||||
queryItems(
|
||||
HostResource.class,
|
||||
|
@ -419,8 +417,7 @@ public class RdapDomainSearchAction extends RdapSearchActionBase {
|
|||
* <p>This method is called by {@link #searchByNameserverLdhName} and {@link
|
||||
* #searchByNameserverIp} after they assemble the relevant host keys.
|
||||
*/
|
||||
private DomainSearchResponse searchByNameserverRefs(
|
||||
final Iterable<Key<HostResource>> hostKeys) {
|
||||
private DomainSearchResponse searchByNameserverRefs(final Iterable<Key<HostResource>> hostKeys) {
|
||||
// We must break the query up into chunks, because the in operator is limited to 30 subqueries.
|
||||
// Since it is possible for the same domain to show up more than once in our result list (if
|
||||
// we do a wildcard nameserver search that returns multiple nameservers used by the same
|
||||
|
@ -459,8 +456,8 @@ public class RdapDomainSearchAction extends RdapSearchActionBase {
|
|||
return makeSearchResults(
|
||||
domains,
|
||||
(numHostKeysSearched >= maxNameserversInFirstStage)
|
||||
? IncompletenessWarningType.MIGHT_BE_INCOMPLETE
|
||||
: IncompletenessWarningType.COMPLETE,
|
||||
? IncompletenessWarningType.MIGHT_BE_INCOMPLETE
|
||||
: IncompletenessWarningType.COMPLETE,
|
||||
(numHostKeysSearched > 0) ? Optional.of((long) domains.size()) : Optional.empty());
|
||||
}
|
||||
|
||||
|
@ -471,8 +468,7 @@ public class RdapDomainSearchAction extends RdapSearchActionBase {
|
|||
}
|
||||
|
||||
/** Output JSON from data in an {@link RdapResultSet} object. */
|
||||
private DomainSearchResponse makeSearchResults(
|
||||
RdapResultSet<DomainBase> resultSet) {
|
||||
private DomainSearchResponse makeSearchResults(RdapResultSet<DomainBase> resultSet) {
|
||||
return makeSearchResults(
|
||||
resultSet.resources(),
|
||||
resultSet.incompletenessWarningType(),
|
||||
|
@ -501,7 +497,7 @@ public class RdapDomainSearchAction extends RdapSearchActionBase {
|
|||
newCursor = Optional.of(domain.getFullyQualifiedDomainName());
|
||||
builder
|
||||
.domainSearchResultsBuilder()
|
||||
.add(rdapJsonFormatter.makeRdapJsonForDomain(domain, outputDataType));
|
||||
.add(rdapJsonFormatter.createRdapDomain(domain, outputDataType));
|
||||
}
|
||||
if (rdapResultSetMaxSize < domains.size()) {
|
||||
builder.setNextPageUri(createNavigationUri(newCursor.get()));
|
||||
|
|
|
@ -19,6 +19,7 @@ import static google.registry.rdap.RdapUtils.getRegistrarByIanaIdentifier;
|
|||
import static google.registry.request.Action.Method.GET;
|
||||
import static google.registry.request.Action.Method.HEAD;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.primitives.Longs;
|
||||
import com.google.re2j.Pattern;
|
||||
import com.googlecode.objectify.Key;
|
||||
|
@ -72,10 +73,8 @@ public class RdapEntityAction extends RdapActionBase {
|
|||
// As per Andy Newton on the regext mailing list, contacts by themselves have no role, since
|
||||
// they are global, and might have different roles for different domains.
|
||||
if ((contactResource != null) && shouldBeVisible(contactResource)) {
|
||||
return rdapJsonFormatter.makeRdapJsonForContact(
|
||||
contactResource,
|
||||
Optional.empty(),
|
||||
OutputDataType.FULL);
|
||||
return rdapJsonFormatter.createRdapContactEntity(
|
||||
contactResource, ImmutableSet.of(), OutputDataType.FULL);
|
||||
}
|
||||
}
|
||||
Long ianaIdentifier = Longs.tryParse(pathSearchString);
|
||||
|
@ -83,8 +82,7 @@ public class RdapEntityAction extends RdapActionBase {
|
|||
wasValidKey = true;
|
||||
Optional<Registrar> registrar = getRegistrarByIanaIdentifier(ianaIdentifier);
|
||||
if (registrar.isPresent() && shouldBeVisible(registrar.get())) {
|
||||
return rdapJsonFormatter.makeRdapJsonForRegistrar(
|
||||
registrar.get(), OutputDataType.FULL);
|
||||
return rdapJsonFormatter.createRdapRegistrarEntity(registrar.get(), OutputDataType.FULL);
|
||||
}
|
||||
}
|
||||
// At this point, we have failed to find either a contact or a registrar.
|
||||
|
|
|
@ -21,6 +21,7 @@ import static google.registry.request.Action.Method.GET;
|
|||
import static google.registry.request.Action.Method.HEAD;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Streams;
|
||||
import com.google.common.primitives.Booleans;
|
||||
|
@ -380,10 +381,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase {
|
|||
shouldIncludeDeleted(),
|
||||
querySizeLimit);
|
||||
}
|
||||
return makeSearchResults(
|
||||
contactResultSet,
|
||||
registrars,
|
||||
QueryType.HANDLE);
|
||||
return makeSearchResults(contactResultSet, registrars, QueryType.HANDLE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -406,9 +404,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase {
|
|||
* properties of the {@link RdapResultSet} structure and passes them as separate arguments.
|
||||
*/
|
||||
private EntitySearchResponse makeSearchResults(
|
||||
RdapResultSet<ContactResource> resultSet,
|
||||
List<Registrar> registrars,
|
||||
QueryType queryType) {
|
||||
RdapResultSet<ContactResource> resultSet, List<Registrar> registrars, QueryType queryType) {
|
||||
return makeSearchResults(
|
||||
resultSet.resources(),
|
||||
resultSet.incompletenessWarningType(),
|
||||
|
@ -424,10 +420,10 @@ public class RdapEntitySearchAction extends RdapSearchActionBase {
|
|||
*
|
||||
* @param contacts the list of contacts which can be returned
|
||||
* @param incompletenessWarningType MIGHT_BE_INCOMPLETE if the list of contacts might be
|
||||
* incomplete; this only matters if the total count of contacts and registrars combined is
|
||||
* less than a full result set's worth
|
||||
* incomplete; this only matters if the total count of contacts and registrars combined is
|
||||
* less than a full result set's worth
|
||||
* @param numContactsRetrieved the number of contacts retrieved in the process of generating the
|
||||
* results
|
||||
* results
|
||||
* @param registrars the list of registrars which can be returned
|
||||
* @param queryType whether the query was by full name or by handle
|
||||
* @return an {@link RdapSearchResults} object
|
||||
|
@ -460,10 +456,11 @@ public class RdapEntitySearchAction extends RdapSearchActionBase {
|
|||
for (ContactResource contact : Iterables.limit(contacts, rdapResultSetMaxSize)) {
|
||||
// As per Andy Newton on the regext mailing list, contacts by themselves have no role, since
|
||||
// they are global, and might have different roles for different domains.
|
||||
builder.entitySearchResultsBuilder().add(rdapJsonFormatter.makeRdapJsonForContact(
|
||||
contact,
|
||||
Optional.empty(),
|
||||
outputDataType));
|
||||
builder
|
||||
.entitySearchResultsBuilder()
|
||||
.add(
|
||||
rdapJsonFormatter.createRdapContactEntity(
|
||||
contact, ImmutableSet.of(), outputDataType));
|
||||
newCursor =
|
||||
Optional.of(
|
||||
CONTACT_CURSOR_PREFIX
|
||||
|
@ -476,9 +473,7 @@ public class RdapEntitySearchAction extends RdapSearchActionBase {
|
|||
Iterables.limit(registrars, rdapResultSetMaxSize - contacts.size())) {
|
||||
builder
|
||||
.entitySearchResultsBuilder()
|
||||
.add(
|
||||
rdapJsonFormatter.makeRdapJsonForRegistrar(
|
||||
registrar, outputDataType));
|
||||
.add(rdapJsonFormatter.createRdapRegistrarEntity(registrar, outputDataType));
|
||||
newCursor = Optional.of(REGISTRAR_CURSOR_PREFIX + registrar.getRegistrarName());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,11 +51,12 @@ public class RdapIcannStandardInformation {
|
|||
.build())
|
||||
.build();
|
||||
|
||||
/** Required by ICANN RDAP Profile section 1.5.20. */
|
||||
/** Required by ICANN RDAP Response Profile section 2.11. */
|
||||
private static final Notice INACCURACY_COMPLAINT_FORM_NOTICE =
|
||||
Notice.builder()
|
||||
.setTitle("RDDS Inaccuracy Complaint Form")
|
||||
.setDescription(
|
||||
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf")
|
||||
"URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf")
|
||||
.addLink(
|
||||
Link.builder()
|
||||
.setValue("https://www.icann.org/wicf")
|
||||
|
@ -71,6 +72,7 @@ public class RdapIcannStandardInformation {
|
|||
CONFORMANCE_NOTICE,
|
||||
// RDAP Response Profile 2.6.3
|
||||
DOMAIN_STATUS_CODES_NOTICE,
|
||||
// RDAP Response Profile 2.11
|
||||
INACCURACY_COMPLAINT_FORM_NOTICE);
|
||||
|
||||
/** Boilerplate remarks required by nameserver and entity responses. */
|
||||
|
@ -125,21 +127,14 @@ public class RdapIcannStandardInformation {
|
|||
static final ImmutableList<Notice> POSSIBLY_INCOMPLETE_NOTICES =
|
||||
ImmutableList.of(POSSIBLY_INCOMPLETE_RESULT_SET_NOTICE);
|
||||
|
||||
/** Included when the requester is not logged in as the owner of the domain being returned. */
|
||||
static final Remark DOMAIN_CONTACTS_HIDDEN_DATA_REMARK =
|
||||
Remark.builder()
|
||||
.setTitle("Contacts Hidden")
|
||||
.setDescription("Domain contacts are visible only to the owning registrar.")
|
||||
.setType(Remark.Type.OBJECT_TRUNCATED_UNEXPLAINABLE)
|
||||
.build();
|
||||
|
||||
/**
|
||||
* Included when requester is not logged in as the owner of the contact being returned. Format
|
||||
* required by ICANN RDAP Response Profile 15feb19 section 2.7.4.3.
|
||||
* Included when requester is not logged in as the owner of the contact being returned.
|
||||
*
|
||||
* <p>Format required by ICANN RDAP Response Profile 15feb19 section 2.7.4.3.
|
||||
*/
|
||||
static final Remark CONTACT_PERSONAL_DATA_HIDDEN_DATA_REMARK =
|
||||
Remark.builder()
|
||||
.setTitle("Redacted for Privacy")
|
||||
.setTitle("REDACTED FOR PRIVACY")
|
||||
.setDescription(
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar.")
|
||||
|
@ -154,4 +149,30 @@ public class RdapIcannStandardInformation {
|
|||
.setType("text/html")
|
||||
.build())
|
||||
.build();
|
||||
|
||||
/**
|
||||
* String that replaces GDPR redacted values.
|
||||
*
|
||||
* <p>GTLD Registration Data Temp Spec 17may18, Appendix A, 2.2: Fields required to be "redacted"
|
||||
* MUST privide in the value section text similar to "REDACTED FOR PRIVACY"
|
||||
*/
|
||||
static final String CONTACT_REDACTED_VALUE = "REDACTED FOR PRIVACY";
|
||||
|
||||
/**
|
||||
* Included in ALL contact responses, even if the user is authorized.
|
||||
*
|
||||
* <p>Format required by ICANN RDAP Response Profile 15feb19 section 2.7.5.3.
|
||||
*
|
||||
* <p>NOTE that unlike other redacted fields, there's no allowance to give the email to authorized
|
||||
* users or allow for registrar consent.
|
||||
*/
|
||||
static final Remark CONTACT_EMAIL_REDACTED_FOR_DOMAIN =
|
||||
Remark.builder()
|
||||
.setTitle("EMAIL REDACTED FOR PRIVACY")
|
||||
.setDescription(
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output"
|
||||
+ " for information on how to contact the Registrant of the queried domain"
|
||||
+ " name.")
|
||||
.setType(Remark.Type.OBJECT_REDACTED_AUTHORIZATION)
|
||||
.build();
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -67,6 +67,6 @@ public class RdapNameserverAction extends RdapActionBase {
|
|||
if (!shouldBeVisible(hostResource)) {
|
||||
throw new NotFoundException(pathSearchString + " not found");
|
||||
}
|
||||
return rdapJsonFormatter.makeRdapJsonForHost(hostResource.get(), OutputDataType.FULL);
|
||||
return rdapJsonFormatter.createRdapNameserver(hostResource.get(), OutputDataType.FULL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -167,10 +167,9 @@ public class RdapNameserverSearchAction extends RdapSearchActionBase {
|
|||
NameserverSearchResponse.Builder builder =
|
||||
NameserverSearchResponse.builder()
|
||||
.setIncompletenessWarningType(IncompletenessWarningType.COMPLETE);
|
||||
builder.nameserverSearchResultsBuilder().add(
|
||||
rdapJsonFormatter.makeRdapJsonForHost(
|
||||
hostResource.get(),
|
||||
OutputDataType.FULL));
|
||||
builder
|
||||
.nameserverSearchResultsBuilder()
|
||||
.add(rdapJsonFormatter.createRdapNameserver(hostResource.get(), OutputDataType.FULL));
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
|
@ -230,8 +229,7 @@ public class RdapNameserverSearchAction extends RdapSearchActionBase {
|
|||
getDeletedItemHandling(),
|
||||
querySizeLimit);
|
||||
return makeSearchResults(
|
||||
getMatchingResources(query, shouldIncludeDeleted(), querySizeLimit),
|
||||
CursorType.NAME);
|
||||
getMatchingResources(query, shouldIncludeDeleted(), querySizeLimit), CursorType.NAME);
|
||||
}
|
||||
|
||||
/** Searches for nameservers by IP address, returning a JSON array of nameserver info maps. */
|
||||
|
@ -248,8 +246,7 @@ public class RdapNameserverSearchAction extends RdapSearchActionBase {
|
|||
getDeletedItemHandling(),
|
||||
querySizeLimit);
|
||||
return makeSearchResults(
|
||||
getMatchingResources(query, shouldIncludeDeleted(), querySizeLimit),
|
||||
CursorType.ADDRESS);
|
||||
getMatchingResources(query, shouldIncludeDeleted(), querySizeLimit), CursorType.ADDRESS);
|
||||
}
|
||||
|
||||
/** Output JSON for a lists of hosts contained in an {@link RdapResultSet}. */
|
||||
|
@ -282,7 +279,7 @@ public class RdapNameserverSearchAction extends RdapSearchActionBase {
|
|||
: host.getRepoId());
|
||||
builder
|
||||
.nameserverSearchResultsBuilder()
|
||||
.add(rdapJsonFormatter.makeRdapJsonForHost(host, outputDataType));
|
||||
.add(rdapJsonFormatter.createRdapNameserver(host, outputDataType));
|
||||
}
|
||||
if (rdapResultSetMaxSize < hosts.size()) {
|
||||
builder.setNextPageUri(createNavigationUri(newCursor.get()));
|
||||
|
|
|
@ -25,6 +25,7 @@ import com.google.gson.Gson;
|
|||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonPrimitive;
|
||||
import google.registry.model.domain.secdns.DelegationSignerData;
|
||||
import google.registry.rdap.AbstractJsonableObject.RestrictJsonNames;
|
||||
import google.registry.rdap.RdapDataStructures.Event;
|
||||
import google.registry.rdap.RdapDataStructures.EventWithoutActor;
|
||||
|
@ -149,7 +150,6 @@ final class RdapObjectClasses {
|
|||
*
|
||||
* All Actions need to return an object of this type.
|
||||
*/
|
||||
@RestrictJsonNames("*")
|
||||
abstract static class ReplyPayloadBase extends AbstractJsonableObject {
|
||||
final BoilerplateType boilerplateType;
|
||||
|
||||
|
@ -207,6 +207,18 @@ final class RdapObjectClasses {
|
|||
@JsonableElement abstract ImmutableList<Link> links();
|
||||
@JsonableElement abstract ImmutableList<Event> events();
|
||||
|
||||
/**
|
||||
* Required event for all response objects, but not for internal objects.
|
||||
*
|
||||
* <p>Meaning it's required in, e.g., an RdapNameserver object that is a response to a
|
||||
* Nameserver query, but not to an RdapNameserver that's part of an RdapDomain response to a
|
||||
* Domain query.
|
||||
*
|
||||
* <p>RDAP Response Profile 2.3.1.3, 3.3, 4.4
|
||||
*/
|
||||
@JsonableElement("events[]")
|
||||
abstract Optional<Event> lastUpdateOfRdapDatabaseEvent();
|
||||
|
||||
/**
|
||||
* WHOIS server displayed in RDAP query responses.
|
||||
*
|
||||
|
@ -232,16 +244,20 @@ final class RdapObjectClasses {
|
|||
abstract ImmutableList.Builder<Link> linksBuilder();
|
||||
abstract B setPort43(Port43WhoisServer port43);
|
||||
abstract ImmutableList.Builder<Event> eventsBuilder();
|
||||
|
||||
abstract B setLastUpdateOfRdapDatabaseEvent(Event event);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The Entity Object Class defined in 5.1 of RFC7483.
|
||||
*
|
||||
* <p>Entities are used both for Contacts and for Registrars. We will create different subobjects
|
||||
* for each one for type safety.
|
||||
*
|
||||
* <p>We're missing the "autnums" and "networks" fields
|
||||
*/
|
||||
@RestrictJsonNames({"entities[]", "entitySearchResults[]"})
|
||||
@AutoValue
|
||||
abstract static class RdapEntity extends RdapObjectBase {
|
||||
|
||||
/** Role values specified in RFC 7483 § 10.2.4. */
|
||||
|
@ -280,17 +296,50 @@ final class RdapObjectClasses {
|
|||
@JsonableElement abstract ImmutableSet<Role> roles();
|
||||
@JsonableElement abstract ImmutableList<EventWithoutActor> asEventActor();
|
||||
|
||||
private abstract static class Builder<B extends Builder<B>> extends RdapObjectBase.Builder<B> {
|
||||
abstract B setVcardArray(VcardArray vcardArray);
|
||||
|
||||
abstract ImmutableSet.Builder<Role> rolesBuilder();
|
||||
|
||||
abstract ImmutableList.Builder<EventWithoutActor> asEventActorBuilder();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registrar version of the Entity Object Class defined in 5.1 of RFC7483.
|
||||
*
|
||||
* <p>Entities are used both for Contacts and for Registrars. We will create different subobjects
|
||||
* for each one for type safety.
|
||||
*/
|
||||
@AutoValue
|
||||
abstract static class RdapRegistrarEntity extends RdapEntity {
|
||||
|
||||
static Builder builder() {
|
||||
return new AutoValue_RdapObjectClasses_RdapEntity.Builder();
|
||||
return new AutoValue_RdapObjectClasses_RdapRegistrarEntity.Builder();
|
||||
}
|
||||
|
||||
@AutoValue.Builder
|
||||
abstract static class Builder extends RdapObjectBase.Builder<Builder> {
|
||||
abstract Builder setVcardArray(VcardArray vcardArray);
|
||||
abstract ImmutableSet.Builder<Role> rolesBuilder();
|
||||
abstract ImmutableList.Builder<EventWithoutActor> asEventActorBuilder();
|
||||
abstract static class Builder extends RdapEntity.Builder<Builder> {
|
||||
abstract RdapRegistrarEntity build();
|
||||
}
|
||||
}
|
||||
|
||||
abstract RdapEntity build();
|
||||
/**
|
||||
* Contact version of the Entity Object Class defined in 5.1 of RFC7483.
|
||||
*
|
||||
* <p>Entities are used both for Contacts and for Registrars. We will create different subobjects
|
||||
* for each one for type safety.
|
||||
*/
|
||||
@AutoValue
|
||||
abstract static class RdapContactEntity extends RdapEntity {
|
||||
|
||||
static Builder builder() {
|
||||
return new AutoValue_RdapObjectClasses_RdapContactEntity.Builder();
|
||||
}
|
||||
|
||||
@AutoValue.Builder
|
||||
abstract static class Builder extends RdapEntity.Builder<Builder> {
|
||||
abstract RdapContactEntity build();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -301,6 +350,10 @@ final class RdapObjectClasses {
|
|||
*
|
||||
* <p>See RDAP Response Profile 15feb19 sections 2.1 and 4.1.
|
||||
*
|
||||
* <p>Note the ldhName field is only required for non-IDN names or IDN names when the query was an
|
||||
* A-label. It is optional for IDN names when the query was a U-label. Because we don't want to
|
||||
* remember the query when building the results, we always show it.
|
||||
*
|
||||
* <p>Not part of the spec, but seems convenient.
|
||||
*/
|
||||
private abstract static class RdapNamedObjectBase extends RdapObjectBase {
|
||||
|
@ -374,7 +427,80 @@ final class RdapObjectClasses {
|
|||
|
||||
abstract RdapNameserver build();
|
||||
}
|
||||
}
|
||||
|
||||
/** Object defined in RFC7483 section 5.3, only used for RdapDomain. */
|
||||
@RestrictJsonNames("secureDNS")
|
||||
@AutoValue
|
||||
abstract static class SecureDns extends AbstractJsonableObject {
|
||||
@RestrictJsonNames("dsData[]")
|
||||
@AutoValue
|
||||
abstract static class DsData extends AbstractJsonableObject {
|
||||
@JsonableElement
|
||||
abstract int keyTag();
|
||||
|
||||
@JsonableElement
|
||||
abstract int algorithm();
|
||||
|
||||
@JsonableElement
|
||||
abstract String digest();
|
||||
|
||||
@JsonableElement
|
||||
abstract int digestType();
|
||||
|
||||
static DsData create(DelegationSignerData dsData) {
|
||||
return new AutoValue_RdapObjectClasses_SecureDns_DsData(
|
||||
dsData.getKeyTag(),
|
||||
dsData.getAlgorithm(),
|
||||
dsData.getDigestAsString(),
|
||||
dsData.getDigestType());
|
||||
}
|
||||
}
|
||||
|
||||
/** true if the zone has been signed, false otherwise. */
|
||||
@JsonableElement
|
||||
abstract boolean zoneSigned();
|
||||
|
||||
/** true if there are DS records in the parent, false otherwise. */
|
||||
@JsonableElement
|
||||
boolean delegationSigned() {
|
||||
return !dsData().isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* an integer representing the signature lifetime in seconds to be used when creating the RRSIG
|
||||
* DS record in the parent zone [RFC5910].
|
||||
*
|
||||
* <p>Note that although it isn't given as optional in RFC7483, in RFC5910 it's mentioned as
|
||||
* optional. Also, our code doesn't support it at all - so it's set to always be empty.
|
||||
*/
|
||||
@JsonableElement
|
||||
Optional<Integer> maxSigLife() {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@JsonableElement
|
||||
abstract ImmutableList<DsData> dsData();
|
||||
|
||||
static Builder builder() {
|
||||
return new AutoValue_RdapObjectClasses_SecureDns.Builder();
|
||||
}
|
||||
|
||||
abstract Builder toBuilder();
|
||||
|
||||
@AutoValue.Builder
|
||||
abstract static class Builder {
|
||||
abstract Builder setZoneSigned(boolean zoneSigned);
|
||||
|
||||
abstract ImmutableList.Builder<DsData> dsDataBuilder();
|
||||
|
||||
Builder addDsData(DelegationSignerData dsData) {
|
||||
dsDataBuilder().add(DsData.create(dsData));
|
||||
return this;
|
||||
}
|
||||
|
||||
abstract SecureDns build();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -388,6 +514,9 @@ final class RdapObjectClasses {
|
|||
|
||||
@JsonableElement abstract ImmutableList<RdapNameserver> nameservers();
|
||||
|
||||
@JsonableElement("secureDNS")
|
||||
abstract Optional<SecureDns> secureDns();
|
||||
|
||||
RdapDomain() {
|
||||
super(BoilerplateType.DOMAIN, ObjectClassName.DOMAIN);
|
||||
}
|
||||
|
@ -400,6 +529,8 @@ final class RdapObjectClasses {
|
|||
abstract static class Builder extends RdapNamedObjectBase.Builder<Builder> {
|
||||
abstract ImmutableList.Builder<RdapNameserver> nameserversBuilder();
|
||||
|
||||
abstract Builder setSecureDns(SecureDns secureDns);
|
||||
|
||||
abstract RdapDomain build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,8 +49,7 @@ public final class RequestModule {
|
|||
private final AuthResult authResult;
|
||||
|
||||
@VisibleForTesting
|
||||
public RequestModule(
|
||||
HttpServletRequest req, HttpServletResponse rsp) {
|
||||
public RequestModule(HttpServletRequest req, HttpServletResponse rsp) {
|
||||
this(req, rsp, AuthResult.NOT_AUTHENTICATED);
|
||||
}
|
||||
|
||||
|
|
|
@ -207,7 +207,7 @@ public class DomainBaseTest extends EntityTestCase {
|
|||
.isNotNull();
|
||||
// This behavior should also hold true for ImmutableObjects nested in collections.
|
||||
assertThat(newDomainBase("example.com").asBuilder()
|
||||
.setDsData(ImmutableSet.of(DelegationSignerData.create(1, 1, 1, null)))
|
||||
.setDsData(ImmutableSet.of(DelegationSignerData.create(1, 1, 1, (byte[]) null)))
|
||||
.build().getDsData().asList().get(0).getDigest())
|
||||
.isNull();
|
||||
assertThat(newDomainBase("example.com").asBuilder()
|
||||
|
|
|
@ -16,6 +16,8 @@ package google.registry.rdap;
|
|||
|
||||
import static com.google.common.net.HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
|
||||
import static google.registry.rdap.RdapTestHelper.parseJsonObject;
|
||||
import static google.registry.request.Action.Method.GET;
|
||||
import static google.registry.request.Action.Method.HEAD;
|
||||
import static google.registry.testing.DatastoreHelper.createTld;
|
||||
|
|
|
@ -20,12 +20,9 @@ import static google.registry.rdap.RdapAuthorization.Role.PUBLIC;
|
|||
import static google.registry.rdap.RdapAuthorization.Role.REGISTRAR;
|
||||
import static google.registry.request.Action.Method.GET;
|
||||
import static google.registry.request.Action.Method.HEAD;
|
||||
import static google.registry.testing.TestDataHelper.loadFile;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
import com.google.appengine.api.users.User;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import google.registry.model.ofy.Ofy;
|
||||
import google.registry.request.Action;
|
||||
|
@ -37,8 +34,9 @@ import google.registry.testing.AppEngineRule;
|
|||
import google.registry.testing.FakeClock;
|
||||
import google.registry.testing.FakeResponse;
|
||||
import google.registry.testing.InjectRule;
|
||||
import google.registry.util.Idn;
|
||||
import google.registry.util.TypeUtils;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
import java.util.Optional;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.Before;
|
||||
|
@ -78,8 +76,6 @@ public class RdapActionBaseTestCase<A extends RdapActionBase> {
|
|||
protected final String actionPath;
|
||||
protected final Class<A> rdapActionClass;
|
||||
|
||||
private static final Gson GSON = new Gson();
|
||||
|
||||
protected RdapActionBaseTestCase(Class<A> rdapActionClass) {
|
||||
this.rdapActionClass = rdapActionClass;
|
||||
this.actionPath = Actions.getPathForAction(rdapActionClass);
|
||||
|
@ -117,15 +113,11 @@ public class RdapActionBaseTestCase<A extends RdapActionBase> {
|
|||
metricRole = ADMINISTRATOR;
|
||||
}
|
||||
|
||||
protected static JsonObject parseJsonObject(String jsonString) {
|
||||
return GSON.fromJson(jsonString, JsonObject.class);
|
||||
}
|
||||
|
||||
protected JsonObject generateActualJson(String domainName) {
|
||||
action.requestPath = actionPath + domainName;
|
||||
action.requestMethod = GET;
|
||||
action.run();
|
||||
return parseJsonObject(response.getPayload());
|
||||
return RdapTestHelper.parseJsonObject(response.getPayload());
|
||||
}
|
||||
|
||||
protected String generateHeadPayload(String domainName) {
|
||||
|
@ -135,38 +127,6 @@ public class RdapActionBaseTestCase<A extends RdapActionBase> {
|
|||
return response.getPayload();
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a resource testdata JSON file, and applies substitutions.
|
||||
*
|
||||
* <p>{@code loadJsonFile("filename.json", "NANE", "something", "ID", "other")} is the same as
|
||||
* {@code loadJsonFile("filename.json", ImmutableMap.of("NANE", "something", "ID", "other"))}.
|
||||
*
|
||||
* @param filename the name of the file from the testdata directory
|
||||
* @param keysAndValues alternating substitution key and value. The substitutions are applied to
|
||||
* the file before parsing it to JSON.
|
||||
*/
|
||||
protected static JsonObject loadJsonFile(String filename, String... keysAndValues) {
|
||||
checkArgument(keysAndValues.length % 2 == 0);
|
||||
ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<>();
|
||||
for (int i = 0; i < keysAndValues.length; i += 2) {
|
||||
if (keysAndValues[i + 1] != null) {
|
||||
builder.put(keysAndValues[i], keysAndValues[i + 1]);
|
||||
}
|
||||
}
|
||||
return loadJsonFile(filename, builder.build());
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a resource testdata JSON file, and applies substitutions.
|
||||
*
|
||||
* @param filename the name of the file from the testdata directory
|
||||
* @param substitutions map of substitutions to apply to the file. The substitutions are applied
|
||||
* to the file before parsing it to JSON.
|
||||
*/
|
||||
protected static JsonObject loadJsonFile(String filename, Map<String, String> substitutions) {
|
||||
return parseJsonObject(loadFile(RdapActionBaseTestCase.class, filename, substitutions));
|
||||
}
|
||||
|
||||
protected JsonObject generateExpectedJsonError(
|
||||
String description,
|
||||
int code) {
|
||||
|
@ -191,10 +151,75 @@ public class RdapActionBaseTestCase<A extends RdapActionBase> {
|
|||
title = "ERR";
|
||||
break;
|
||||
}
|
||||
return loadJsonFile(
|
||||
return RdapTestHelper.loadJsonFile(
|
||||
"rdap_error.json",
|
||||
"DESCRIPTION", description,
|
||||
"TITLE", title,
|
||||
"CODE", String.valueOf(code));
|
||||
}
|
||||
|
||||
protected static JsonFileBuilder jsonFileBuilder() {
|
||||
return new JsonFileBuilder();
|
||||
}
|
||||
|
||||
protected static final class JsonFileBuilder {
|
||||
private final HashMap<String, String> substitutions = new HashMap<>();
|
||||
|
||||
public JsonObject load(String filename) {
|
||||
return RdapTestHelper.loadJsonFile(filename, substitutions);
|
||||
}
|
||||
|
||||
public JsonFileBuilder put(String key, String value) {
|
||||
checkArgument(
|
||||
substitutions.put(key, value) == null, "substitutions already had key of %s", key);
|
||||
return this;
|
||||
}
|
||||
|
||||
public JsonFileBuilder put(String key, int index, String value) {
|
||||
return put(String.format("%s%d", key, index), value);
|
||||
}
|
||||
|
||||
public JsonFileBuilder putNext(String key, String value, String... moreKeyValues) {
|
||||
checkArgument(moreKeyValues.length % 2 == 0);
|
||||
int index = putNextAndReturnIndex(key, value);
|
||||
for (int i = 0; i < moreKeyValues.length; i += 2) {
|
||||
put(moreKeyValues[i], index, moreKeyValues[i + 1]);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public JsonFileBuilder addDomain(String name, String handle) {
|
||||
return putNext(
|
||||
"DOMAIN_PUNYCODE_NAME_", Idn.toASCII(name),
|
||||
"DOMAIN_UNICODE_NAME_", name,
|
||||
"DOMAIN_HANDLE_", handle);
|
||||
}
|
||||
|
||||
public JsonFileBuilder addNameserver(String name, String handle) {
|
||||
return putNext(
|
||||
"NAMESERVER_NAME_", Idn.toASCII(name),
|
||||
"NAMESERVER_UNICODE_NAME_", name,
|
||||
"NAMESERVER_HANDLE_", handle);
|
||||
}
|
||||
|
||||
public JsonFileBuilder addRegistrar(String fullName) {
|
||||
return putNext("REGISTRAR_FULL_NAME_", fullName);
|
||||
}
|
||||
|
||||
public JsonFileBuilder addContact(String handle) {
|
||||
return putNext("CONTACT_HANDLE_", handle);
|
||||
}
|
||||
|
||||
public JsonFileBuilder setNextQuery(String nextQuery) {
|
||||
return put("NEXT_QUERY", nextQuery);
|
||||
}
|
||||
|
||||
private int putNextAndReturnIndex(String key, String value) {
|
||||
for (int i = 1; ; i++) {
|
||||
if (substitutions.putIfAbsent(String.format("%s%d", key, i), value) == null) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ public final class RdapDataStructuresTest {
|
|||
@Test
|
||||
public void testRdapConformance() {
|
||||
assertThat(RdapConformance.INSTANCE.toJson())
|
||||
.isEqualTo(createJson("['icann_rdap_response_profile_0']"));
|
||||
.isEqualTo(createJson("['rdap_level_0','icann_rdap_response_profile_0']"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
package google.registry.rdap;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.assertThat;
|
||||
import static google.registry.testing.DatastoreHelper.createTld;
|
||||
import static google.registry.testing.DatastoreHelper.persistResource;
|
||||
import static google.registry.testing.DatastoreHelper.persistSimpleResources;
|
||||
|
@ -26,8 +27,6 @@ import static google.registry.testing.FullFieldsTestEntityHelper.makeRegistrar;
|
|||
import static google.registry.testing.FullFieldsTestEntityHelper.makeRegistrarContacts;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.gson.JsonObject;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
|
@ -41,9 +40,7 @@ import google.registry.rdap.RdapMetrics.SearchType;
|
|||
import google.registry.rdap.RdapMetrics.WildcardType;
|
||||
import google.registry.rdap.RdapSearchResults.IncompletenessWarningType;
|
||||
import google.registry.request.Action;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nullable;
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
@ -90,37 +87,54 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
"ns1.cat.lol", "1.2.3.4", null, clock.nowUtc().minusYears(1));
|
||||
HostResource host2 = makeAndPersistHostResource(
|
||||
"ns2.cat.lol", "bad:f00d:cafe:0:0:0:15:beef", clock.nowUtc().minusYears(2));
|
||||
DomainBase domainCatLol =
|
||||
persistResource(makeDomainBase("cat.lol",
|
||||
registrantLol, adminContactLol, techContactLol, host1, host2, registrarLol));
|
||||
persistResource(
|
||||
makeDomainBase(
|
||||
"cat.lol",
|
||||
registrantLol,
|
||||
adminContactLol,
|
||||
techContactLol,
|
||||
host1,
|
||||
host2,
|
||||
registrarLol)
|
||||
.asBuilder()
|
||||
.setCreationTimeForTest(clock.nowUtc().minusYears(3))
|
||||
.setCreationClientId("foo")
|
||||
.build());
|
||||
|
||||
// deleted domain in lol
|
||||
HostResource hostDodo2 = makeAndPersistHostResource(
|
||||
"ns2.dodo.lol", "bad:f00d:cafe:0:0:0:15:beef", clock.nowUtc().minusYears(2));
|
||||
DomainBase domainDeleted = persistResource(makeDomainBase("dodo.lol",
|
||||
makeAndPersistContactResource(
|
||||
"5372808-ERL",
|
||||
"Goblin Market",
|
||||
"lol@cat.lol",
|
||||
clock.nowUtc().minusYears(1),
|
||||
registrarLol),
|
||||
makeAndPersistContactResource(
|
||||
"5372808-IRL",
|
||||
"Santa Claus",
|
||||
"BOFH@cat.lol",
|
||||
clock.nowUtc().minusYears(2),
|
||||
registrarLol),
|
||||
makeAndPersistContactResource(
|
||||
"5372808-TRL",
|
||||
"The Raven",
|
||||
"bog@cat.lol",
|
||||
clock.nowUtc().minusYears(3),
|
||||
registrarLol),
|
||||
host1,
|
||||
hostDodo2,
|
||||
registrarLol).asBuilder().setDeletionTime(clock.nowUtc().minusDays(1)).build());
|
||||
|
||||
// xn--q9jyb4c
|
||||
DomainBase domainDeleted =
|
||||
persistResource(
|
||||
makeDomainBase(
|
||||
"dodo.lol",
|
||||
makeAndPersistContactResource(
|
||||
"5372808-ERL",
|
||||
"Goblin Market",
|
||||
"lol@cat.lol",
|
||||
clock.nowUtc().minusYears(1),
|
||||
registrarLol),
|
||||
makeAndPersistContactResource(
|
||||
"5372808-IRL",
|
||||
"Santa Claus",
|
||||
"BOFH@cat.lol",
|
||||
clock.nowUtc().minusYears(2),
|
||||
registrarLol),
|
||||
makeAndPersistContactResource(
|
||||
"5372808-TRL",
|
||||
"The Raven",
|
||||
"bog@cat.lol",
|
||||
clock.nowUtc().minusYears(3),
|
||||
registrarLol),
|
||||
host1,
|
||||
hostDodo2,
|
||||
registrarLol)
|
||||
.asBuilder()
|
||||
.setCreationTimeForTest(clock.nowUtc().minusYears(3))
|
||||
.setCreationClientId("foo")
|
||||
.setDeletionTime(clock.nowUtc().minusDays(1))
|
||||
.build());
|
||||
// cat.みんな
|
||||
createTld("xn--q9jyb4c");
|
||||
Registrar registrarIdn =
|
||||
persistResource(makeRegistrar("idnregistrar", "IDN Registrar", Registrar.State.ACTIVE));
|
||||
|
@ -146,13 +160,19 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
"bog@cat.lol",
|
||||
clock.nowUtc().minusYears(3),
|
||||
registrarIdn);
|
||||
DomainBase domainCatIdn = persistResource(makeDomainBase("cat.みんな",
|
||||
registrantIdn,
|
||||
adminContactIdn,
|
||||
techContactIdn,
|
||||
host1,
|
||||
host2,
|
||||
registrarIdn));
|
||||
persistResource(
|
||||
makeDomainBase(
|
||||
"cat.みんな",
|
||||
registrantIdn,
|
||||
adminContactIdn,
|
||||
techContactIdn,
|
||||
host1,
|
||||
host2,
|
||||
registrarIdn)
|
||||
.asBuilder()
|
||||
.setCreationTimeForTest(clock.nowUtc().minusYears(3))
|
||||
.setCreationClientId("foo")
|
||||
.build());
|
||||
|
||||
// 1.tld
|
||||
createTld("1.tld");
|
||||
|
@ -180,43 +200,21 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
"bog@cat.lol",
|
||||
clock.nowUtc().minusYears(3),
|
||||
registrar1Tld);
|
||||
DomainBase domainCat1Tld = persistResource(makeDomainBase("cat.1.tld",
|
||||
registrant1Tld,
|
||||
adminContact1Tld,
|
||||
techContact1Tld,
|
||||
host1,
|
||||
host2,
|
||||
registrar1Tld));
|
||||
persistResource(
|
||||
makeDomainBase(
|
||||
"cat.1.tld",
|
||||
registrant1Tld,
|
||||
adminContact1Tld,
|
||||
techContact1Tld,
|
||||
host1,
|
||||
host2,
|
||||
registrar1Tld)
|
||||
.asBuilder()
|
||||
.setCreationTimeForTest(clock.nowUtc().minusYears(3))
|
||||
.setCreationClientId("foo")
|
||||
.build());
|
||||
|
||||
// history entries
|
||||
persistResource(
|
||||
makeHistoryEntry(
|
||||
domainCatLol,
|
||||
HistoryEntry.Type.DOMAIN_CREATE,
|
||||
Period.create(1, Period.Unit.YEARS),
|
||||
"created",
|
||||
clock.nowUtc()));
|
||||
persistResource(
|
||||
makeHistoryEntry(
|
||||
domainDeleted,
|
||||
HistoryEntry.Type.DOMAIN_CREATE,
|
||||
Period.create(1, Period.Unit.YEARS),
|
||||
"created",
|
||||
clock.nowUtc().minusYears(1)));
|
||||
persistResource(
|
||||
makeHistoryEntry(
|
||||
domainCatIdn,
|
||||
HistoryEntry.Type.DOMAIN_CREATE,
|
||||
Period.create(1, Period.Unit.YEARS),
|
||||
"created",
|
||||
clock.nowUtc()));
|
||||
persistResource(
|
||||
makeHistoryEntry(
|
||||
domainCat1Tld,
|
||||
HistoryEntry.Type.DOMAIN_CREATE,
|
||||
Period.create(1, Period.Unit.YEARS),
|
||||
"created",
|
||||
clock.nowUtc()));
|
||||
persistResource(
|
||||
makeHistoryEntry(
|
||||
domainDeleted,
|
||||
|
@ -226,89 +224,7 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
clock.nowUtc().minusMonths(6)));
|
||||
}
|
||||
|
||||
private JsonObject generateExpectedJson(
|
||||
String expectedOutputFile,
|
||||
String name,
|
||||
String punycodeName,
|
||||
String handle,
|
||||
@Nullable List<String> contactRoids,
|
||||
@Nullable List<String> nameserverRoids,
|
||||
@Nullable List<String> nameserverNames,
|
||||
@Nullable String registrarName) {
|
||||
ImmutableMap.Builder<String, String> substitutionsBuilder = new ImmutableMap.Builder<>();
|
||||
substitutionsBuilder.put("NAME", name);
|
||||
substitutionsBuilder.put("PUNYCODENAME", (punycodeName == null) ? name : punycodeName);
|
||||
substitutionsBuilder.put("HANDLE", handle);
|
||||
substitutionsBuilder.put("TYPE", "domain name");
|
||||
substitutionsBuilder.put("NAMESERVER1ADDRESS", "1.2.3.4");
|
||||
substitutionsBuilder.put("NAMESERVER2ADDRESS", "bad:f00d:cafe::15:beef");
|
||||
if (registrarName != null) {
|
||||
substitutionsBuilder.put("REGISTRARNAME", registrarName);
|
||||
}
|
||||
if (contactRoids != null) {
|
||||
for (int i = 0; i < contactRoids.size(); i++) {
|
||||
substitutionsBuilder.put("CONTACT" + (i + 1) + "ROID", contactRoids.get(i));
|
||||
}
|
||||
}
|
||||
if (nameserverRoids != null) {
|
||||
for (int i = 0; i < nameserverRoids.size(); i++) {
|
||||
substitutionsBuilder.put("NAMESERVER" + (i + 1) + "ROID", nameserverRoids.get(i));
|
||||
}
|
||||
} else {
|
||||
substitutionsBuilder.put("NAMESERVER1ROID", "8-ROID");
|
||||
substitutionsBuilder.put("NAMESERVER2ROID", "A-ROID");
|
||||
}
|
||||
if (nameserverNames != null) {
|
||||
for (int i = 0; i < nameserverRoids.size(); i++) {
|
||||
substitutionsBuilder.put("NAMESERVER" + (i + 1) + "NAME", nameserverNames.get(i));
|
||||
substitutionsBuilder.put("NAMESERVER" + (i + 1) + "PUNYCODENAME", nameserverNames.get(i));
|
||||
}
|
||||
} else {
|
||||
substitutionsBuilder.put("NAMESERVER1NAME", "ns1.cat.lol");
|
||||
substitutionsBuilder.put("NAMESERVER1PUNYCODENAME", "ns1.cat.lol");
|
||||
substitutionsBuilder.put("NAMESERVER2NAME", "ns2.cat.lol");
|
||||
substitutionsBuilder.put("NAMESERVER2PUNYCODENAME", "ns2.cat.lol");
|
||||
}
|
||||
return loadJsonFile(expectedOutputFile, substitutionsBuilder.build());
|
||||
}
|
||||
|
||||
private JsonObject generateExpectedJsonWithTopLevelEntries(
|
||||
String name,
|
||||
String punycodeName,
|
||||
String handle,
|
||||
@Nullable List<String> contactRoids,
|
||||
@Nullable List<String> nameserverRoids,
|
||||
@Nullable String registrarName,
|
||||
String expectedOutputFile) {
|
||||
return generateExpectedJsonWithTopLevelEntries(
|
||||
name,
|
||||
punycodeName,
|
||||
handle,
|
||||
contactRoids,
|
||||
nameserverRoids,
|
||||
null,
|
||||
registrarName,
|
||||
expectedOutputFile);
|
||||
}
|
||||
private JsonObject generateExpectedJsonWithTopLevelEntries(
|
||||
String name,
|
||||
String punycodeName,
|
||||
String handle,
|
||||
@Nullable List<String> contactRoids,
|
||||
@Nullable List<String> nameserverRoids,
|
||||
@Nullable List<String> nameserverNames,
|
||||
@Nullable String registrarName,
|
||||
String expectedOutputFile) {
|
||||
JsonObject obj =
|
||||
generateExpectedJson(
|
||||
expectedOutputFile,
|
||||
name,
|
||||
punycodeName,
|
||||
handle,
|
||||
contactRoids,
|
||||
nameserverRoids,
|
||||
nameserverNames,
|
||||
registrarName);
|
||||
private JsonObject addBoilerplate(JsonObject obj) {
|
||||
RdapTestHelper.addDomainBoilerplateNotices(obj, "https://example.tld/rdap/");
|
||||
return obj;
|
||||
}
|
||||
|
@ -316,14 +232,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
private void assertProperResponseForCatLol(String queryString, String expectedOutputFile) {
|
||||
assertThat(generateActualJson(queryString))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonWithTopLevelEntries(
|
||||
"cat.lol",
|
||||
null,
|
||||
"C-LOL",
|
||||
ImmutableList.of("4-ROID", "6-ROID", "2-ROID"),
|
||||
ImmutableList.of("8-ROID", "A-ROID"),
|
||||
"Yes Virginia <script>",
|
||||
expectedOutputFile));
|
||||
addBoilerplate(
|
||||
jsonFileBuilder()
|
||||
.addDomain("cat.lol", "C-LOL")
|
||||
.addContact("4-ROID")
|
||||
.addContact("6-ROID")
|
||||
.addContact("2-ROID")
|
||||
.addNameserver("ns1.cat.lol", "8-ROID")
|
||||
.addNameserver("ns2.cat.lol", "A-ROID")
|
||||
.addRegistrar("Yes Virginia <script>")
|
||||
.load(expectedOutputFile)));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
}
|
||||
|
||||
|
@ -406,14 +324,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
login("idnregistrar");
|
||||
assertThat(generateActualJson("cat.みんな"))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonWithTopLevelEntries(
|
||||
"cat.みんな",
|
||||
"cat.xn--q9jyb4c",
|
||||
"1D-Q9JYB4C",
|
||||
ImmutableList.of("19-ROID", "1B-ROID", "17-ROID"),
|
||||
ImmutableList.of("8-ROID", "A-ROID"),
|
||||
"IDN Registrar",
|
||||
"rdap_domain_unicode.json"));
|
||||
addBoilerplate(
|
||||
jsonFileBuilder()
|
||||
.addDomain("cat.みんな", "1D-Q9JYB4C")
|
||||
.addContact("19-ROID")
|
||||
.addContact("1B-ROID")
|
||||
.addContact("17-ROID")
|
||||
.addNameserver("ns1.cat.lol", "8-ROID")
|
||||
.addNameserver("ns2.cat.lol", "A-ROID")
|
||||
.addRegistrar("IDN Registrar")
|
||||
.load("rdap_domain_unicode.json")));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
}
|
||||
|
||||
|
@ -422,14 +342,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
login("idnregistrar");
|
||||
assertThat(generateActualJson("cat.%E3%81%BF%E3%82%93%E3%81%AA"))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonWithTopLevelEntries(
|
||||
"cat.みんな",
|
||||
"cat.xn--q9jyb4c",
|
||||
"1D-Q9JYB4C",
|
||||
ImmutableList.of("19-ROID", "1B-ROID", "17-ROID"),
|
||||
ImmutableList.of("8-ROID", "A-ROID"),
|
||||
"IDN Registrar",
|
||||
"rdap_domain_unicode.json"));
|
||||
addBoilerplate(
|
||||
jsonFileBuilder()
|
||||
.addDomain("cat.みんな", "1D-Q9JYB4C")
|
||||
.addContact("19-ROID")
|
||||
.addContact("1B-ROID")
|
||||
.addContact("17-ROID")
|
||||
.addNameserver("ns1.cat.lol", "8-ROID")
|
||||
.addNameserver("ns2.cat.lol", "A-ROID")
|
||||
.addRegistrar("IDN Registrar")
|
||||
.load("rdap_domain_unicode.json")));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
}
|
||||
|
||||
|
@ -438,14 +360,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
login("idnregistrar");
|
||||
assertThat(generateActualJson("cat.xn--q9jyb4c"))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonWithTopLevelEntries(
|
||||
"cat.みんな",
|
||||
"cat.xn--q9jyb4c",
|
||||
"1D-Q9JYB4C",
|
||||
ImmutableList.of("19-ROID", "1B-ROID", "17-ROID"),
|
||||
ImmutableList.of("8-ROID", "A-ROID"),
|
||||
"IDN Registrar",
|
||||
"rdap_domain_unicode.json"));
|
||||
addBoilerplate(
|
||||
jsonFileBuilder()
|
||||
.addDomain("cat.みんな", "1D-Q9JYB4C")
|
||||
.addContact("19-ROID")
|
||||
.addContact("1B-ROID")
|
||||
.addContact("17-ROID")
|
||||
.addNameserver("ns1.cat.lol", "8-ROID")
|
||||
.addNameserver("ns2.cat.lol", "A-ROID")
|
||||
.addRegistrar("IDN Registrar")
|
||||
.load("rdap_domain_unicode.json")));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
}
|
||||
|
||||
|
@ -454,14 +378,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
login("1tldregistrar");
|
||||
assertThat(generateActualJson("cat.1.tld"))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonWithTopLevelEntries(
|
||||
"cat.1.tld",
|
||||
null,
|
||||
"25-1_TLD",
|
||||
ImmutableList.of("21-ROID", "23-ROID", "1F-ROID"),
|
||||
ImmutableList.of("8-ROID", "A-ROID"),
|
||||
"Multilevel Registrar",
|
||||
"rdap_domain.json"));
|
||||
addBoilerplate(
|
||||
jsonFileBuilder()
|
||||
.addDomain("cat.1.tld", "25-1_TLD")
|
||||
.addContact("21-ROID")
|
||||
.addContact("23-ROID")
|
||||
.addContact("1F-ROID")
|
||||
.addNameserver("ns1.cat.lol", "8-ROID")
|
||||
.addNameserver("ns2.cat.lol", "A-ROID")
|
||||
.addRegistrar("Multilevel Registrar")
|
||||
.load("rdap_domain.json")));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
}
|
||||
|
||||
|
@ -509,15 +435,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
action.includeDeletedParam = Optional.of(true);
|
||||
assertThat(generateActualJson("dodo.lol"))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonWithTopLevelEntries(
|
||||
"dodo.lol",
|
||||
null,
|
||||
"15-LOL",
|
||||
ImmutableList.of("11-ROID", "13-ROID", "F-ROID"),
|
||||
ImmutableList.of("8-ROID", "D-ROID"),
|
||||
ImmutableList.of("ns1.cat.lol", "ns2.dodo.lol"),
|
||||
"Yes Virginia <script>",
|
||||
"rdap_domain_deleted.json"));
|
||||
addBoilerplate(
|
||||
jsonFileBuilder()
|
||||
.addDomain("dodo.lol", "15-LOL")
|
||||
.addContact("11-ROID")
|
||||
.addContact("13-ROID")
|
||||
.addContact("F-ROID")
|
||||
.addNameserver("ns1.cat.lol", "8-ROID")
|
||||
.addNameserver("ns2.dodo.lol", "D-ROID")
|
||||
.addRegistrar("Yes Virginia <script>")
|
||||
.load("rdap_domain_deleted.json")));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
}
|
||||
|
||||
|
@ -527,15 +454,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
|
|||
action.includeDeletedParam = Optional.of(true);
|
||||
assertThat(generateActualJson("dodo.lol"))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonWithTopLevelEntries(
|
||||
"dodo.lol",
|
||||
null,
|
||||
"15-LOL",
|
||||
ImmutableList.of("11-ROID", "13-ROID", "F-ROID"),
|
||||
ImmutableList.of("8-ROID", "D-ROID"),
|
||||
ImmutableList.of("ns1.cat.lol", "ns2.dodo.lol"),
|
||||
"Yes Virginia <script>",
|
||||
"rdap_domain_deleted.json"));
|
||||
addBoilerplate(
|
||||
jsonFileBuilder()
|
||||
.addDomain("dodo.lol", "15-LOL")
|
||||
.addContact("11-ROID")
|
||||
.addContact("13-ROID")
|
||||
.addContact("F-ROID")
|
||||
.addNameserver("ns1.cat.lol", "8-ROID")
|
||||
.addNameserver("ns2.dodo.lol", "D-ROID")
|
||||
.addRegistrar("Yes Virginia <script>")
|
||||
.load("rdap_domain_deleted.json")));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -15,6 +15,8 @@
|
|||
package google.registry.rdap;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
|
||||
import static google.registry.testing.DatastoreHelper.createTld;
|
||||
import static google.registry.testing.DatastoreHelper.persistResource;
|
||||
import static google.registry.testing.DatastoreHelper.persistSimpleResources;
|
||||
|
@ -139,7 +141,6 @@ public class RdapEntityActionTest extends RdapActionBaseTestCase<RdapEntityActio
|
|||
"NAME", handle,
|
||||
"FULLNAME", fullName,
|
||||
"ADDRESS", (address == null) ? "\"1 Smiley Row\", \"Suite みんな\"" : address,
|
||||
"EMAIL", "lol@cat.みんな",
|
||||
"TYPE", "entity",
|
||||
"STATUS", status);
|
||||
}
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
package google.registry.rdap;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
|
||||
import static google.registry.rdap.RdapTestHelper.parseJsonObject;
|
||||
import static google.registry.request.Action.Method.GET;
|
||||
import static google.registry.testing.DatastoreHelper.createTld;
|
||||
import static google.registry.testing.DatastoreHelper.persistResource;
|
||||
|
@ -161,14 +164,13 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
private JsonObject generateExpectedJson(
|
||||
String handle,
|
||||
String expectedOutputFile) {
|
||||
return generateExpectedJson(handle, null, "active", null, null, expectedOutputFile);
|
||||
return generateExpectedJson(handle, null, "active", null, expectedOutputFile);
|
||||
}
|
||||
|
||||
private JsonObject generateExpectedJson(
|
||||
String handle,
|
||||
@Nullable String fullName,
|
||||
String status,
|
||||
@Nullable String email,
|
||||
@Nullable String address,
|
||||
String expectedOutputFile) {
|
||||
ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<>();
|
||||
|
@ -176,9 +178,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
if (fullName != null) {
|
||||
builder.put("FULLNAME", fullName);
|
||||
}
|
||||
if (email != null) {
|
||||
builder.put("EMAIL", email);
|
||||
}
|
||||
if (address != null) {
|
||||
builder.put("ADDRESS", address);
|
||||
}
|
||||
|
@ -191,11 +190,9 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
String handle,
|
||||
String fullName,
|
||||
String status,
|
||||
@Nullable String email,
|
||||
@Nullable String address,
|
||||
String expectedOutputFile) {
|
||||
JsonObject obj =
|
||||
generateExpectedJson(handle, fullName, status, email, address, expectedOutputFile);
|
||||
JsonObject obj = generateExpectedJson(handle, fullName, status, address, expectedOutputFile);
|
||||
obj = RdapTestHelper.wrapInSearchReply("entitySearchResults", obj);
|
||||
RdapTestHelper.addNonDomainBoilerplateNotices(obj, "https://example.tld/rdap/");
|
||||
return obj;
|
||||
|
@ -275,7 +272,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
"2-ROID",
|
||||
"Blinky (赤ベイ)",
|
||||
"active",
|
||||
"blinky@b.tld",
|
||||
"\"123 Blinky St\", \"Blinkyland\"",
|
||||
fileName);
|
||||
}
|
||||
|
@ -285,7 +281,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
String handle,
|
||||
@Nullable String fullName,
|
||||
String fileName) {
|
||||
runSuccessfulNameTest(queryString, handle, fullName, "active", null, null, fileName);
|
||||
runSuccessfulNameTest(queryString, handle, fullName, "active", null, fileName);
|
||||
}
|
||||
|
||||
private void runSuccessfulNameTest(
|
||||
|
@ -293,13 +289,11 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
String handle,
|
||||
@Nullable String fullName,
|
||||
String status,
|
||||
@Nullable String email,
|
||||
@Nullable String address,
|
||||
String fileName) {
|
||||
rememberWildcardType(queryString);
|
||||
assertThat(generateActualJsonWithFullName(queryString))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonForEntity(handle, fullName, status, email, address, fileName));
|
||||
.isEqualTo(generateExpectedJsonForEntity(handle, fullName, status, address, fileName));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
}
|
||||
|
||||
|
@ -316,7 +310,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
"2-ROID",
|
||||
"Blinky (赤ベイ)",
|
||||
"active",
|
||||
"blinky@b.tld",
|
||||
"\"123 Blinky St\", \"Blinkyland\"",
|
||||
fileName);
|
||||
}
|
||||
|
@ -326,7 +319,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
String handle,
|
||||
@Nullable String fullName,
|
||||
String fileName) {
|
||||
runSuccessfulHandleTest(queryString, handle, fullName, "active", null, null, fileName);
|
||||
runSuccessfulHandleTest(queryString, handle, fullName, "active", null, fileName);
|
||||
}
|
||||
|
||||
private void runSuccessfulHandleTest(
|
||||
|
@ -334,13 +327,11 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
String handle,
|
||||
@Nullable String fullName,
|
||||
String status,
|
||||
@Nullable String email,
|
||||
@Nullable String address,
|
||||
String fileName) {
|
||||
rememberWildcardType(queryString);
|
||||
assertThat(generateActualJsonWithHandle(queryString))
|
||||
.isEqualTo(
|
||||
generateExpectedJsonForEntity(handle, fullName, status, email, address, fileName));
|
||||
.isEqualTo(generateExpectedJsonForEntity(handle, fullName, status, address, fileName));
|
||||
assertThat(response.getStatus()).isEqualTo(200);
|
||||
}
|
||||
|
||||
|
@ -869,7 +860,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
public void testNameMatchRegistrar_found_inactiveAsSameRegistrar() {
|
||||
action.includeDeletedParam = Optional.of(true);
|
||||
login("2-RegistrarInact");
|
||||
runSuccessfulNameTest("No Way", "21", "No Way", "inactive", null, null, "rdap_registrar.json");
|
||||
runSuccessfulNameTest("No Way", "21", "No Way", "inactive", null, "rdap_registrar.json");
|
||||
verifyMetrics(0);
|
||||
}
|
||||
|
||||
|
@ -877,7 +868,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
public void testNameMatchRegistrar_found_inactiveAsAdmin() {
|
||||
action.includeDeletedParam = Optional.of(true);
|
||||
loginAsAdmin();
|
||||
runSuccessfulNameTest("No Way", "21", "No Way", "inactive", null, null, "rdap_registrar.json");
|
||||
runSuccessfulNameTest("No Way", "21", "No Way", "inactive", null, "rdap_registrar.json");
|
||||
verifyMetrics(0);
|
||||
}
|
||||
|
||||
|
@ -900,7 +891,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
action.includeDeletedParam = Optional.of(true);
|
||||
login("2-RegistrarTest");
|
||||
runSuccessfulNameTest(
|
||||
"Da Test Registrar", "(none)", "Da Test Registrar", "rdap_registrar_test.json");
|
||||
"Da Test Registrar", "not applicable", "Da Test Registrar", "rdap_registrar_test.json");
|
||||
verifyMetrics(0);
|
||||
}
|
||||
|
||||
|
@ -909,7 +900,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
action.includeDeletedParam = Optional.of(true);
|
||||
loginAsAdmin();
|
||||
runSuccessfulNameTest(
|
||||
"Da Test Registrar", "(none)", "Da Test Registrar", "rdap_registrar_test.json");
|
||||
"Da Test Registrar", "not applicable", "Da Test Registrar", "rdap_registrar_test.json");
|
||||
verifyMetrics(0);
|
||||
}
|
||||
|
||||
|
@ -983,7 +974,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
"",
|
||||
"inactive",
|
||||
"",
|
||||
"",
|
||||
"rdap_contact_deleted.json");
|
||||
verifyMetrics(1);
|
||||
}
|
||||
|
@ -998,7 +988,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
"",
|
||||
"inactive",
|
||||
"",
|
||||
"",
|
||||
"rdap_contact_deleted.json");
|
||||
verifyMetrics(1);
|
||||
}
|
||||
|
@ -1028,7 +1017,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
"",
|
||||
"inactive",
|
||||
"",
|
||||
"",
|
||||
"rdap_contact_deleted.json");
|
||||
verifyMetrics(1);
|
||||
}
|
||||
|
@ -1043,7 +1031,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
"",
|
||||
"inactive",
|
||||
"",
|
||||
"",
|
||||
"rdap_contact_deleted.json");
|
||||
verifyMetrics(1);
|
||||
}
|
||||
|
@ -1240,7 +1227,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
public void testHandleMatchRegistrar_found_inactiveAsSameRegistrar() {
|
||||
action.includeDeletedParam = Optional.of(true);
|
||||
login("2-RegistrarInact");
|
||||
runSuccessfulHandleTest("21", "21", "No Way", "inactive", null, null, "rdap_registrar.json");
|
||||
runSuccessfulHandleTest("21", "21", "No Way", "inactive", null, "rdap_registrar.json");
|
||||
verifyMetrics(0);
|
||||
}
|
||||
|
||||
|
@ -1248,7 +1235,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
|
|||
public void testHandleMatchRegistrar_found_inactiveAsAdmin() {
|
||||
action.includeDeletedParam = Optional.of(true);
|
||||
loginAsAdmin();
|
||||
runSuccessfulHandleTest("21", "21", "No Way", "inactive", null, null, "rdap_registrar.json");
|
||||
runSuccessfulHandleTest("21", "21", "No Way", "inactive", null, "rdap_registrar.json");
|
||||
verifyMetrics(0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
package google.registry.rdap;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import google.registry.rdap.RdapMetrics.EndpointType;
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
package google.registry.rdap;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.assertThat;
|
||||
import static google.registry.testing.DatastoreHelper.createTld;
|
||||
import static google.registry.testing.DatastoreHelper.persistResource;
|
||||
import static google.registry.testing.DatastoreHelper.persistSimpleResources;
|
||||
|
@ -29,12 +30,10 @@ import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
|
|||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.googlecode.objectify.Key;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
import google.registry.model.domain.DesignatedContact;
|
||||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.Period;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.ofy.Ofy;
|
||||
|
@ -45,12 +44,12 @@ import google.registry.model.transfer.TransferData;
|
|||
import google.registry.model.transfer.TransferStatus;
|
||||
import google.registry.rdap.RdapJsonFormatter.OutputDataType;
|
||||
import google.registry.rdap.RdapObjectClasses.BoilerplateType;
|
||||
import google.registry.rdap.RdapObjectClasses.RdapEntity;
|
||||
import google.registry.rdap.RdapObjectClasses.ReplyPayloadBase;
|
||||
import google.registry.rdap.RdapObjectClasses.TopLevelReplyObject;
|
||||
import google.registry.testing.AppEngineRule;
|
||||
import google.registry.testing.FakeClock;
|
||||
import google.registry.testing.InjectRule;
|
||||
import java.util.Optional;
|
||||
import org.joda.time.DateTime;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
|
@ -186,25 +185,36 @@ public class RdapJsonFormatterTest {
|
|||
.build())
|
||||
.build())))
|
||||
.build());
|
||||
domainBaseFull = persistResource(
|
||||
makeDomainBase(
|
||||
"cat.みんな",
|
||||
contactResourceRegistrant,
|
||||
contactResourceAdmin,
|
||||
contactResourceTech,
|
||||
hostResourceIpv4,
|
||||
hostResourceIpv6,
|
||||
registrar));
|
||||
domainBaseNoNameserversNoTransfers = persistResource(
|
||||
makeDomainBase(
|
||||
"fish.みんな",
|
||||
contactResourceRegistrant,
|
||||
contactResourceAdmin,
|
||||
contactResourceTech,
|
||||
null,
|
||||
null,
|
||||
registrar));
|
||||
|
||||
domainBaseFull =
|
||||
persistResource(
|
||||
makeDomainBase(
|
||||
"cat.みんな",
|
||||
contactResourceRegistrant,
|
||||
contactResourceAdmin,
|
||||
contactResourceTech,
|
||||
hostResourceIpv4,
|
||||
hostResourceIpv6,
|
||||
registrar)
|
||||
.asBuilder()
|
||||
.setCreationClientId("foo")
|
||||
.setCreationTimeForTest(clock.nowUtc().minusMonths(4))
|
||||
.setLastEppUpdateTime(clock.nowUtc().minusMonths(3))
|
||||
.build());
|
||||
domainBaseNoNameserversNoTransfers =
|
||||
persistResource(
|
||||
makeDomainBase(
|
||||
"fish.みんな",
|
||||
contactResourceRegistrant,
|
||||
contactResourceRegistrant,
|
||||
contactResourceRegistrant,
|
||||
null,
|
||||
null,
|
||||
registrar)
|
||||
.asBuilder()
|
||||
.setCreationClientId("foo")
|
||||
.setCreationTimeForTest(clock.nowUtc())
|
||||
.setLastEppUpdateTime(null)
|
||||
.build());
|
||||
// Create an unused domain that references hostResourceBoth and hostResourceNoAddresses so that
|
||||
// they will have "associated" (ie, StatusValue.LINKED) status.
|
||||
persistResource(
|
||||
|
@ -218,20 +228,6 @@ public class RdapJsonFormatterTest {
|
|||
registrar));
|
||||
|
||||
// history entries
|
||||
persistResource(
|
||||
makeHistoryEntry(
|
||||
domainBaseFull,
|
||||
HistoryEntry.Type.DOMAIN_CREATE,
|
||||
Period.create(1, Period.Unit.YEARS),
|
||||
"created",
|
||||
clock.nowUtc().minusMonths(4)));
|
||||
persistResource(
|
||||
makeHistoryEntry(
|
||||
domainBaseNoNameserversNoTransfers,
|
||||
HistoryEntry.Type.DOMAIN_CREATE,
|
||||
Period.create(1, Period.Unit.YEARS),
|
||||
"created",
|
||||
clock.nowUtc()));
|
||||
// We create 3 "transfer approved" entries, to make sure we only save the last one
|
||||
persistResource(
|
||||
makeHistoryEntry(
|
||||
|
@ -307,41 +303,41 @@ public class RdapJsonFormatterTest {
|
|||
.build());
|
||||
}
|
||||
|
||||
private JsonElement loadJson(String expectedFileName) {
|
||||
return new Gson().fromJson(loadFile(this.getClass(), expectedFileName), JsonElement.class);
|
||||
private JsonObject loadJson(String expectedFileName) {
|
||||
return new Gson().fromJson(loadFile(this.getClass(), expectedFileName), JsonObject.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegistrar() {
|
||||
assertThat(rdapJsonFormatter.makeRdapJsonForRegistrar(registrar, OutputDataType.FULL).toJson())
|
||||
assertThat(rdapJsonFormatter.createRdapRegistrarEntity(registrar, OutputDataType.FULL).toJson())
|
||||
.isEqualTo(loadJson("rdapjson_registrar.json"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegistrar_summary() {
|
||||
assertThat(
|
||||
rdapJsonFormatter.makeRdapJsonForRegistrar(registrar, OutputDataType.SUMMARY).toJson())
|
||||
rdapJsonFormatter.createRdapRegistrarEntity(registrar, OutputDataType.SUMMARY).toJson())
|
||||
.isEqualTo(loadJson("rdapjson_registrar_summary.json"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHost_ipv4() {
|
||||
assertThat(
|
||||
rdapJsonFormatter.makeRdapJsonForHost(hostResourceIpv4, OutputDataType.FULL).toJson())
|
||||
rdapJsonFormatter.createRdapNameserver(hostResourceIpv4, OutputDataType.FULL).toJson())
|
||||
.isEqualTo(loadJson("rdapjson_host_ipv4.json"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHost_ipv6() {
|
||||
assertThat(
|
||||
rdapJsonFormatter.makeRdapJsonForHost(hostResourceIpv6, OutputDataType.FULL).toJson())
|
||||
rdapJsonFormatter.createRdapNameserver(hostResourceIpv6, OutputDataType.FULL).toJson())
|
||||
.isEqualTo(loadJson("rdapjson_host_ipv6.json"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHost_both() {
|
||||
assertThat(
|
||||
rdapJsonFormatter.makeRdapJsonForHost(hostResourceBoth, OutputDataType.FULL).toJson())
|
||||
rdapJsonFormatter.createRdapNameserver(hostResourceBoth, OutputDataType.FULL).toJson())
|
||||
.isEqualTo(loadJson("rdapjson_host_both.json"));
|
||||
}
|
||||
|
||||
|
@ -349,7 +345,7 @@ public class RdapJsonFormatterTest {
|
|||
public void testHost_both_summary() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForHost(hostResourceBoth, OutputDataType.SUMMARY)
|
||||
.createRdapNameserver(hostResourceBoth, OutputDataType.SUMMARY)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_host_both_summary.json"));
|
||||
}
|
||||
|
@ -358,7 +354,7 @@ public class RdapJsonFormatterTest {
|
|||
public void testHost_noAddresses() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForHost(hostResourceNoAddresses, OutputDataType.FULL)
|
||||
.createRdapNameserver(hostResourceNoAddresses, OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_host_no_addresses.json"));
|
||||
}
|
||||
|
@ -367,7 +363,7 @@ public class RdapJsonFormatterTest {
|
|||
public void testHost_notLinked() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForHost(hostResourceNotLinked, OutputDataType.FULL)
|
||||
.createRdapNameserver(hostResourceNotLinked, OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_host_not_linked.json"));
|
||||
}
|
||||
|
@ -376,7 +372,7 @@ public class RdapJsonFormatterTest {
|
|||
public void testHost_superordinateHasPendingTransfer() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForHost(hostResourceSuperordinatePendingTransfer, OutputDataType.FULL)
|
||||
.createRdapNameserver(hostResourceSuperordinatePendingTransfer, OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_host_pending_transfer.json"));
|
||||
}
|
||||
|
@ -385,9 +381,9 @@ public class RdapJsonFormatterTest {
|
|||
public void testRegistrant() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForContact(
|
||||
.createRdapContactEntity(
|
||||
contactResourceRegistrant,
|
||||
Optional.of(DesignatedContact.Type.REGISTRANT),
|
||||
ImmutableSet.of(RdapEntity.Role.REGISTRANT),
|
||||
OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_registrant.json"));
|
||||
|
@ -397,9 +393,9 @@ public class RdapJsonFormatterTest {
|
|||
public void testRegistrant_summary() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForContact(
|
||||
.createRdapContactEntity(
|
||||
contactResourceRegistrant,
|
||||
Optional.of(DesignatedContact.Type.REGISTRANT),
|
||||
ImmutableSet.of(RdapEntity.Role.REGISTRANT),
|
||||
OutputDataType.SUMMARY)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_registrant_summary.json"));
|
||||
|
@ -410,9 +406,9 @@ public class RdapJsonFormatterTest {
|
|||
rdapJsonFormatter.rdapAuthorization = RdapAuthorization.PUBLIC_AUTHORIZATION;
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForContact(
|
||||
.createRdapContactEntity(
|
||||
contactResourceRegistrant,
|
||||
Optional.of(DesignatedContact.Type.REGISTRANT),
|
||||
ImmutableSet.of(RdapEntity.Role.REGISTRANT),
|
||||
OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_registrant_logged_out.json"));
|
||||
|
@ -429,9 +425,9 @@ public class RdapJsonFormatterTest {
|
|||
0, rdapJsonFormatter.fullServletPath.length() - 1);
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForContact(
|
||||
.createRdapContactEntity(
|
||||
contactResourceRegistrant,
|
||||
Optional.of(DesignatedContact.Type.REGISTRANT),
|
||||
ImmutableSet.of(RdapEntity.Role.REGISTRANT),
|
||||
OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_registrant.json"));
|
||||
|
@ -441,9 +437,9 @@ public class RdapJsonFormatterTest {
|
|||
public void testAdmin() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForContact(
|
||||
.createRdapContactEntity(
|
||||
contactResourceAdmin,
|
||||
Optional.of(DesignatedContact.Type.ADMIN),
|
||||
ImmutableSet.of(RdapEntity.Role.ADMIN),
|
||||
OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_admincontact.json"));
|
||||
|
@ -453,10 +449,8 @@ public class RdapJsonFormatterTest {
|
|||
public void testTech() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForContact(
|
||||
contactResourceTech,
|
||||
Optional.of(DesignatedContact.Type.TECH),
|
||||
OutputDataType.FULL)
|
||||
.createRdapContactEntity(
|
||||
contactResourceTech, ImmutableSet.of(RdapEntity.Role.TECH), OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_techcontact.json"));
|
||||
}
|
||||
|
@ -465,10 +459,8 @@ public class RdapJsonFormatterTest {
|
|||
public void testRolelessContact() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForContact(
|
||||
contactResourceTech,
|
||||
Optional.empty(),
|
||||
OutputDataType.FULL)
|
||||
.createRdapContactEntity(
|
||||
contactResourceTech, ImmutableSet.of(), OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_rolelesscontact.json"));
|
||||
}
|
||||
|
@ -477,47 +469,36 @@ public class RdapJsonFormatterTest {
|
|||
public void testUnlinkedContact() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForContact(
|
||||
contactResourceNotLinked,
|
||||
Optional.empty(),
|
||||
OutputDataType.FULL)
|
||||
.createRdapContactEntity(
|
||||
contactResourceNotLinked, ImmutableSet.of(), OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_unlinkedcontact.json"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDomain_full() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForDomain(
|
||||
domainBaseFull,
|
||||
OutputDataType.FULL)
|
||||
.toJson())
|
||||
assertThat(rdapJsonFormatter.createRdapDomain(domainBaseFull, OutputDataType.FULL).toJson())
|
||||
.isEqualTo(loadJson("rdapjson_domain_full.json"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDomain_summary() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForDomain(domainBaseFull, OutputDataType.SUMMARY)
|
||||
.toJson())
|
||||
assertThat(rdapJsonFormatter.createRdapDomain(domainBaseFull, OutputDataType.SUMMARY).toJson())
|
||||
.isEqualTo(loadJson("rdapjson_domain_summary.json"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDomain_logged_out() {
|
||||
rdapJsonFormatter.rdapAuthorization = RdapAuthorization.PUBLIC_AUTHORIZATION;
|
||||
assertThat(
|
||||
rdapJsonFormatter.makeRdapJsonForDomain(domainBaseFull, OutputDataType.FULL).toJson())
|
||||
assertThat(rdapJsonFormatter.createRdapDomain(domainBaseFull, OutputDataType.FULL).toJson())
|
||||
.isEqualTo(loadJson("rdapjson_domain_logged_out.json"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDomain_noNameserversNoTransfers() {
|
||||
public void testDomain_noNameserversNoTransfersMultipleRoleContact() {
|
||||
assertThat(
|
||||
rdapJsonFormatter
|
||||
.makeRdapJsonForDomain(domainBaseNoNameserversNoTransfers, OutputDataType.FULL)
|
||||
.createRdapDomain(domainBaseNoNameserversNoTransfers, OutputDataType.FULL)
|
||||
.toJson())
|
||||
.isEqualTo(loadJson("rdapjson_domain_no_nameservers.json"));
|
||||
}
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
package google.registry.rdap;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
|
||||
import static google.registry.testing.DatastoreHelper.createTld;
|
||||
import static google.registry.testing.DatastoreHelper.persistResource;
|
||||
import static google.registry.testing.FullFieldsTestEntityHelper.makeAndPersistHostResource;
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
package google.registry.rdap;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.assertThat;
|
||||
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
|
||||
import static google.registry.rdap.RdapTestHelper.parseJsonObject;
|
||||
import static google.registry.request.Action.Method.GET;
|
||||
import static google.registry.testing.DatastoreHelper.createTld;
|
||||
import static google.registry.testing.DatastoreHelper.persistResource;
|
||||
|
|
|
@ -14,22 +14,27 @@
|
|||
|
||||
package google.registry.rdap;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static com.google.common.base.Preconditions.checkArgument;
|
||||
import static google.registry.testing.TestDataHelper.loadFile;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.common.collect.Streams;
|
||||
import com.google.common.truth.Truth;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import google.registry.util.Clock;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
public class RdapTestHelper {
|
||||
|
||||
private static final Gson GSON = new GsonBuilder().create();
|
||||
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
|
||||
|
||||
static JsonElement createJson(String... lines) {
|
||||
return GSON.fromJson(Joiner.on("\n").join(lines), JsonElement.class);
|
||||
|
@ -130,9 +135,11 @@ public class RdapTestHelper {
|
|||
new Gson()
|
||||
.toJsonTree(
|
||||
ImmutableMap.of(
|
||||
"title",
|
||||
"RDDS Inaccuracy Complaint Form",
|
||||
"description",
|
||||
ImmutableList.of(
|
||||
"URL of the ICANN Whois Inaccuracy Complaint Form:"
|
||||
"URL of the ICANN RDDS Inaccuracy Complaint Form:"
|
||||
+ " https://www.icann.org/wicf"),
|
||||
"links",
|
||||
ImmutableList.of(
|
||||
|
@ -177,7 +184,7 @@ public class RdapTestHelper {
|
|||
|
||||
static String getLinkToNext(JsonObject results) {
|
||||
JsonArray notices = results.getAsJsonArray("notices");
|
||||
assertThat(notices).isNotNull();
|
||||
Truth.assertThat(notices).isNotNull();
|
||||
return Streams.stream(notices)
|
||||
.map(notice -> notice.getAsJsonObject())
|
||||
.filter(notice -> notice.has("title"))
|
||||
|
@ -189,6 +196,43 @@ public class RdapTestHelper {
|
|||
.findAny().orElse(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a resource testdata JSON file, and applies substitutions.
|
||||
*
|
||||
* <p>{@code loadJsonFile("filename.json", "NANE", "something", "ID", "other")} is the same as
|
||||
* {@code loadJsonFile("filename.json", ImmutableMap.of("NANE", "something", "ID", "other"))}.
|
||||
*
|
||||
* @param filename the name of the file from the testdata directory
|
||||
* @param keysAndValues alternating substitution key and value. The substitutions are applied to
|
||||
* the file before parsing it to JSON.
|
||||
*/
|
||||
static JsonObject loadJsonFile(String filename, String... keysAndValues) {
|
||||
checkArgument(keysAndValues.length % 2 == 0);
|
||||
ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<>();
|
||||
for (int i = 0; i < keysAndValues.length; i += 2) {
|
||||
if (keysAndValues[i + 1] != null) {
|
||||
builder.put(keysAndValues[i], keysAndValues[i + 1]);
|
||||
}
|
||||
}
|
||||
return loadJsonFile(filename, builder.build());
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a resource testdata JSON file, and applies substitutions.
|
||||
*
|
||||
* @param filename the name of the file from the testdata directory
|
||||
* @param substitutions map of substitutions to apply to the file. The substitutions are applied
|
||||
* to the file before parsing it to JSON.
|
||||
*/
|
||||
static JsonObject loadJsonFile(String filename, Map<String, String> substitutions) {
|
||||
System.out.format("Loading JSON file: %s\n", filename);
|
||||
return parseJsonObject(loadFile(RdapTestHelper.class, filename, substitutions));
|
||||
}
|
||||
|
||||
static JsonObject parseJsonObject(String jsonString) {
|
||||
return GSON.fromJson(jsonString, JsonObject.class);
|
||||
}
|
||||
|
||||
static JsonObject wrapInSearchReply(String searchResultsName, JsonObject obj) {
|
||||
JsonArray searchResults = new JsonArray();
|
||||
searchResults.add(obj);
|
||||
|
@ -199,4 +243,83 @@ public class RdapTestHelper {
|
|||
obj.remove("rdapConformance");
|
||||
return reply;
|
||||
}
|
||||
|
||||
/** A small utility class to show nicer "huge JSON" diffs. */
|
||||
static final class GsonSubject {
|
||||
private JsonObject actual;
|
||||
|
||||
GsonSubject(JsonObject actual) {
|
||||
this.actual = actual;
|
||||
}
|
||||
|
||||
void isEqualTo(JsonObject expected) {
|
||||
if (actual.equals(expected)) {
|
||||
return;
|
||||
}
|
||||
StringBuilder difference = new StringBuilder();
|
||||
difference.append("Actual JSON different than expected:");
|
||||
diff("", actual, expected, difference);
|
||||
throw new AssertionError(difference.toString());
|
||||
}
|
||||
|
||||
private String jsonifyAndIndent(JsonElement element) {
|
||||
String json = GSON.toJson(element);
|
||||
return json.replaceAll("\n", "\n ");
|
||||
}
|
||||
|
||||
private JsonElement getOrNull(JsonArray jsonArray, int index) {
|
||||
if (index >= jsonArray.size()) {
|
||||
return null;
|
||||
}
|
||||
return jsonArray.get(index);
|
||||
}
|
||||
|
||||
/** Writes down a human-readable diff between actual and expected into the StringBuilder. */
|
||||
private void diff(
|
||||
String name, JsonElement actual, JsonElement expected, StringBuilder builder) {
|
||||
if (Objects.equals(actual, expected)) {
|
||||
return;
|
||||
}
|
||||
if (actual == null) {
|
||||
builder.append(String.format("Missing: %s ->%s\n\n", name, jsonifyAndIndent(expected)));
|
||||
return;
|
||||
}
|
||||
if (expected == null) {
|
||||
builder.append(String.format("Unexpected: %s -> %s\n\n", name, jsonifyAndIndent(actual)));
|
||||
return;
|
||||
}
|
||||
if (actual.isJsonObject() && expected.isJsonObject()) {
|
||||
// We put the "expected" first in the union so that the "expected" keys will all be first
|
||||
// and in order
|
||||
for (String key :
|
||||
Sets.union(expected.getAsJsonObject().keySet(), actual.getAsJsonObject().keySet())) {
|
||||
diff(
|
||||
name + "." + key,
|
||||
actual.getAsJsonObject().get(key),
|
||||
expected.getAsJsonObject().get(key),
|
||||
builder);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (actual.isJsonArray() && expected.isJsonArray()) {
|
||||
int commonSize = Math.max(actual.getAsJsonArray().size(), expected.getAsJsonArray().size());
|
||||
for (int i = 0; i < commonSize; i++) {
|
||||
diff(
|
||||
String.format("%s[%s]", name, i),
|
||||
getOrNull(actual.getAsJsonArray(), i),
|
||||
getOrNull(expected.getAsJsonArray(), i),
|
||||
builder);
|
||||
}
|
||||
return;
|
||||
}
|
||||
builder.append(
|
||||
String.format(
|
||||
"Different: %s -> %s\ninstead of %s\n\n",
|
||||
name, jsonifyAndIndent(actual), jsonifyAndIndent(expected)));
|
||||
}
|
||||
}
|
||||
|
||||
static GsonSubject assertThat(JsonObject actual) {
|
||||
return new GsonSubject(actual);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,31 +1,26 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "%NAME%",
|
||||
"status" : ["active", "associated"],
|
||||
"links" :
|
||||
[
|
||||
"objectClassName": "entity",
|
||||
"handle": "%NAME%",
|
||||
"status": ["active", "associated"],
|
||||
"links": [
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/%NAME%",
|
||||
"rel" : "self",
|
||||
"value": "https://example.tld/rdap/entity/%NAME%",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/%NAME%",
|
||||
"type" : "application/rdap+json"
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
|
@ -43,10 +38,18 @@
|
|||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "%EMAIL%"]
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
|
|
@ -1,33 +1,43 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "%NAME%",
|
||||
"status" : ["active", "associated", "removed"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/%NAME%",
|
||||
"rel" : "self",
|
||||
"href": "https://example.tld/rdap/entity/%NAME%",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"handle" : "REDACTED FOR PRIVACY",
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version",{},"text","4.0"],
|
||||
["fn",{},"text","REDACTED FOR PRIVACY"],
|
||||
["org",{},"text","REDACTED FOR PRIVACY"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"XX"
|
||||
]
|
||||
],
|
||||
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
|
||||
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Redacted for Privacy",
|
||||
"title": "REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"links": [
|
||||
{
|
||||
|
@ -41,6 +51,13 @@
|
|||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName" : "entity",
|
||||
|
@ -15,11 +16,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -44,8 +40,16 @@
|
|||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "%EMAIL%"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName" : "entity",
|
||||
|
@ -16,20 +17,6 @@
|
|||
],
|
||||
"events":
|
||||
[
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "deletion",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-07-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last changed",
|
||||
"eventDate": "1999-07-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -41,5 +28,15 @@
|
|||
[
|
||||
["version", {}, "text", "4.0"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
|
|
|
@ -1,33 +1,43 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "%NAME%",
|
||||
"status" : ["active", "removed"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/%NAME%",
|
||||
"rel" : "self",
|
||||
"href": "https://example.tld/rdap/entity/%NAME%",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"handle" : "REDACTED FOR PRIVACY",
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version",{},"text","4.0"],
|
||||
["fn",{},"text","REDACTED FOR PRIVACY"],
|
||||
["org",{},"text","REDACTED FOR PRIVACY"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"XX"
|
||||
]
|
||||
],
|
||||
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
|
||||
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Redacted for Privacy",
|
||||
"title": "REDACTED FOR PRIVACY",
|
||||
"description": [
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
|
@ -42,6 +52,13 @@
|
|||
"type" : "text/html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{
|
||||
"objectClassName": "domain",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"status": [
|
||||
|
@ -8,20 +12,19 @@
|
|||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%HANDLE%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%NAME%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%NAME%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
|
@ -30,506 +33,45 @@
|
|||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last changed",
|
||||
"eventDate": "2009-05-29T20:13:00.000Z"
|
||||
}
|
||||
],
|
||||
"nameservers": [
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER1ROID%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER1NAME%",
|
||||
"ipAddresses": {
|
||||
"v4": [
|
||||
"%NAMESERVER1ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
"handle": "%NAMESERVER_HANDLE_1%",
|
||||
"ldhName": "%NAMESERVER_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER2ROID%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER2NAME%",
|
||||
"ipAddresses": {
|
||||
"v6": [
|
||||
"%NAMESERVER2ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAME%",
|
||||
"entities": [
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%CONTACT1ROID%",
|
||||
"roles": [
|
||||
"administrative"
|
||||
],
|
||||
"handle": "%NAMESERVER_HANDLE_2%",
|
||||
"ldhName": "%NAMESERVER_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT1ROID%",
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT1ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"Santa Claus"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"BOFH@cat.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%CONTACT2ROID%",
|
||||
"roles": [
|
||||
"technical"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT2ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT2ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"The Raven"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"bog@cat.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%CONTACT3ROID%",
|
||||
"roles": [
|
||||
"registrant"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT3ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT3ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"Goblin Market"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"lol@cat.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "%REGISTRARNAME%"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type":["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -543,5 +85,181 @@
|
|||
]
|
||||
}
|
||||
],
|
||||
"objectClassName": "domain"
|
||||
"secureDNS": {
|
||||
"delegationSigned": true,
|
||||
"zoneSigned": true,
|
||||
"dsData": [
|
||||
{"algorithm": 2, "digest": "DEADFACE", "digestType": 3, "keyTag": 1}
|
||||
]
|
||||
},
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"roles": ["abuse"],
|
||||
"status": ["active"],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Jake Doe"],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551216"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551216"],
|
||||
["email", {}, "text", "jakedoe@example.com"]
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_1%",
|
||||
"roles": ["administrative"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Santa Claus"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_2%",
|
||||
"roles": ["technical"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Raven"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_3%",
|
||||
"roles": [
|
||||
"registrant"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Goblin Market"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,27 +1,30 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%HANDLE%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%NAME%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%NAME%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
|
@ -30,468 +33,57 @@
|
|||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last changed",
|
||||
"eventDate": "2009-05-29T20:13:00.000Z"
|
||||
}
|
||||
],
|
||||
"nameservers": [
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER1ROID%",
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%NAMESERVER_HANDLE_1%",
|
||||
"ldhName": "%NAMESERVER_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%",
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%"
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER1NAME%",
|
||||
"ipAddresses": {
|
||||
"v4": [
|
||||
"%NAMESERVER1ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER2ROID%",
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%NAMESERVER_HANDLE_2%",
|
||||
"ldhName": "%NAMESERVER_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%",
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%"
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER2NAME%",
|
||||
"ipAddresses": {
|
||||
"v6": [
|
||||
"%NAMESERVER2ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAME%",
|
||||
"entities": [
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%CONTACT1ROID%",
|
||||
"roles": [
|
||||
"administrative"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT1ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT1ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"Sieglinde"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"sieglinde@cat2.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%CONTACT2ROID%",
|
||||
"roles": [
|
||||
"technical"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT2ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT2ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"Siegfried"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"siegfried@cat2.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%CONTACT3ROID%",
|
||||
"roles": [
|
||||
"registrant"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT3ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT3ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"Siegmund"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"siegmund@cat2.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
|
@ -506,24 +98,7 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "%REGISTRARNAME%"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type":["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
|
@ -540,8 +115,143 @@
|
|||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"roles": ["abuse"],
|
||||
"status": ["active"],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version",{},"text","4.0"],
|
||||
["fn",{},"text","Jake Doe"],
|
||||
["tel",{"type":["voice"]},"uri","tel:+1.2125551216"],
|
||||
["tel",{"type":["fax"]},"uri","tel:+1.2125551216"],
|
||||
["email",{},"text","jakedoe@example.com"]
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_1%",
|
||||
"roles": ["administrative"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Sieglinde"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", [ "", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States" ] ],
|
||||
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2126660420"],
|
||||
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_2%",
|
||||
"roles": ["technical"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Siegfried"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", [ "", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States" ] ],
|
||||
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2126660420"],
|
||||
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_3%",
|
||||
"roles": ["registrant"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Siegmund"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", [ "", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States" ] ],
|
||||
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2126660420"],
|
||||
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"objectClassName": "domain"
|
||||
"secureDNS": {
|
||||
"delegationSigned": true,
|
||||
"zoneSigned": true,
|
||||
"dsData": [{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName": "domain",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
|
@ -9,497 +13,91 @@
|
|||
"inactive",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%HANDLE%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%NAME%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%NAME%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
"eventDate": "2110-10-08T00:44:59.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "deletion",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-07-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
"eventDate": "2110-10-08T00:44:59.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last changed",
|
||||
"eventDate": "1999-07-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
"eventDate": "2009-05-29T20:13:00.000Z"
|
||||
}
|
||||
],
|
||||
"nameservers": [
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER1ROID%",
|
||||
"objectClassName": "nameserver",
|
||||
"ldhName": "%NAMESERVER_NAME_1%",
|
||||
"handle": "%NAMESERVER_HANDLE_1%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%",
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%"
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER1NAME%",
|
||||
"ipAddresses": {
|
||||
"v4": [
|
||||
"%NAMESERVER1ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active"
|
||||
],
|
||||
"handle": "%NAMESERVER2ROID%",
|
||||
"objectClassName": "nameserver",
|
||||
"ldhName": "%NAMESERVER_NAME_2%",
|
||||
"handle": "%NAMESERVER_HANDLE_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%",
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%"
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER2NAME%",
|
||||
"ipAddresses": {
|
||||
"v6": [
|
||||
"%NAMESERVER2ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAME%",
|
||||
"entities": [
|
||||
{
|
||||
"status": [
|
||||
"active"
|
||||
],
|
||||
"handle": "%CONTACT1ROID%",
|
||||
"roles": [
|
||||
"administrative"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT1ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT1ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"Santa Claus"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"BOFH@cat.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active"
|
||||
],
|
||||
"handle": "%CONTACT2ROID%",
|
||||
"roles": [
|
||||
"technical"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT2ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT2ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"The Raven"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"bog@cat.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active"
|
||||
],
|
||||
"handle": "%CONTACT3ROID%",
|
||||
"roles": [
|
||||
"registrant"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT3ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT3ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"Goblin Market"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"lol@cat.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"handle": "1",
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
|
@ -512,32 +110,9 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "%REGISTRARNAME%"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type":["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -546,8 +121,145 @@
|
|||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"roles": ["abuse"],
|
||||
"status": ["active"],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Jake Doe"],
|
||||
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2125551216"],
|
||||
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2125551216"],
|
||||
["email", {}, "text", "jakedoe@example.com"]
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_1%",
|
||||
"roles": ["administrative"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Santa Claus"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420" ]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"roles": ["technical"],
|
||||
"handle": "%CONTACT_HANDLE_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Raven"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
|
||||
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2126660420"],
|
||||
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_3%",
|
||||
"roles": ["registrant"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Goblin Market"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
|
||||
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2126660420"],
|
||||
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"objectClassName": "domain"
|
||||
"secureDNS": {
|
||||
"delegationSigned": true,
|
||||
"zoneSigned": true,
|
||||
"dsData": [
|
||||
{"algorithm": 2, "digest": "DEADFACE", "digestType": 3, "keyTag": 1}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
{
|
||||
"objectClassName": "domain",
|
||||
"handle": "%HANDLE%",
|
||||
"ldhName": "%NAME%",
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
|
@ -13,17 +14,17 @@
|
|||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%NAME%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%NAME%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
|
@ -32,192 +33,67 @@
|
|||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last changed",
|
||||
"eventDate": "2009-05-29T20:13:00.000Z"
|
||||
}
|
||||
],
|
||||
"nameservers": [
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER1ROID%",
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%NAMESERVER_HANDLE_1%",
|
||||
"ldhName": "%NAMESERVER_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%",
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%"
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER1NAME%",
|
||||
"ipAddresses": {
|
||||
"v4": [
|
||||
"%NAMESERVER1ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER2ROID%",
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%NAMESERVER_HANDLE_2%",
|
||||
"ldhName": "%NAMESERVER_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%",
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%"
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER2NAME%",
|
||||
"ipAddresses": {
|
||||
"v6": [
|
||||
"%NAMESERVER2ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"secureDNS" : {
|
||||
"delegationSigned": true,
|
||||
"zoneSigned":true,
|
||||
"dsData":[
|
||||
{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}
|
||||
]
|
||||
},
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
"links" : [
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
|
@ -225,32 +101,36 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
"publicIds" : [
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "%REGISTRARNAME%"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
|
||||
]
|
||||
],
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName":"entity",
|
||||
"roles":["abuse"],
|
||||
"status":["active"],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version",{},"text","4.0"],
|
||||
["fn",{},"text","Jake Doe"],
|
||||
["tel",{"type":["voice"]},"uri","tel:+1.2125551216"],
|
||||
["tel",{"type":["fax"]},"uri","tel:+1.2125551216"],
|
||||
["email",{},"text","jakedoe@example.com"]
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -260,15 +140,131 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
},
|
||||
{
|
||||
"title": "Contacts Hidden",
|
||||
"description": [
|
||||
"Domain contacts are visible only to the owning registrar."
|
||||
"objectClassName": "entity",
|
||||
"handle": "REDACTED FOR PRIVACY",
|
||||
"roles":["administrative"],
|
||||
"remarks": [
|
||||
{
|
||||
"title":"REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization",
|
||||
"description": [
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel":"alternate",
|
||||
"type":"text/html",
|
||||
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title":"EMAIL REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
"vcardArray":[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["org", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
|
||||
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"objectClassName":"entity",
|
||||
"handle":"REDACTED FOR PRIVACY",
|
||||
"remarks":[
|
||||
{
|
||||
"title":"REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization",
|
||||
"description":[
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel":"alternate",
|
||||
"type":"text/html",
|
||||
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":[
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
],
|
||||
"title":"EMAIL REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization"
|
||||
}
|
||||
],
|
||||
"roles": ["technical"],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["org", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
|
||||
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"objectClassName":"entity",
|
||||
"handle":"REDACTED FOR PRIVACY",
|
||||
"remarks":[
|
||||
{
|
||||
"title":"REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization",
|
||||
"description":[
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel":"alternate",
|
||||
"type":"text/html",
|
||||
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title":"EMAIL REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization",
|
||||
"description":[
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"roles":["registrant"],
|
||||
"vcardArray":[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["org", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
|
||||
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
{
|
||||
"objectClassName": "domain",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"unicodeName": "%DOMAIN_UNICODE_NAME_1%",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"status": [
|
||||
|
@ -8,21 +13,19 @@
|
|||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"unicodeName": "%NAME%",
|
||||
"handle": "%HANDLE%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%PUNYCODENAME%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%PUNYCODENAME%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
|
@ -31,474 +34,70 @@
|
|||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last changed",
|
||||
"eventDate": "2009-05-29T20:13:00.000Z"
|
||||
}
|
||||
],
|
||||
"nameservers": [
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER1ROID%",
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%NAMESERVER_HANDLE_1%",
|
||||
"ldhName": "%NAMESERVER_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"href":
|
||||
"https://example.tld/rdap/nameserver/%NAMESERVER1PUNYCODENAME%",
|
||||
"https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value":
|
||||
"https://example.tld/rdap/nameserver/%NAMESERVER1PUNYCODENAME%"
|
||||
"https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER1PUNYCODENAME%",
|
||||
"ipAddresses": {
|
||||
"v4": [
|
||||
"%NAMESERVER1ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER2ROID%",
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%NAMESERVER_HANDLE_2%",
|
||||
"ldhName": "%NAMESERVER_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"href":
|
||||
"https://example.tld/rdap/nameserver/%NAMESERVER2PUNYCODENAME%",
|
||||
"https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value":
|
||||
"https://example.tld/rdap/nameserver/%NAMESERVER2PUNYCODENAME%"
|
||||
"https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER2PUNYCODENAME%",
|
||||
"ipAddresses": {
|
||||
"v6": [
|
||||
"%NAMESERVER2ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"ldhName": "%PUNYCODENAME%",
|
||||
"secureDNS": {
|
||||
"delegationSigned": true,
|
||||
"zoneSigned": true,
|
||||
"dsData": [
|
||||
{"algorithm": 2, "digest": "DEADFACE", "digestType": 3, "keyTag": 1}
|
||||
]
|
||||
},
|
||||
"entities": [
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%CONTACT1ROID%",
|
||||
"roles": [
|
||||
"administrative"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT1ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT1ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"Santa Claus"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"BOFH@cat.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%CONTACT2ROID%",
|
||||
"roles": [
|
||||
"technical"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT2ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT2ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"The Raven"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"bog@cat.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%CONTACT3ROID%",
|
||||
"roles": [
|
||||
"registrant"
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT3ROID%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT3ROID%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "entity",
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
[
|
||||
"version",
|
||||
{},
|
||||
"text",
|
||||
"4.0"
|
||||
],
|
||||
[
|
||||
"fn",
|
||||
{},
|
||||
"text",
|
||||
"Goblin Market"
|
||||
],
|
||||
[
|
||||
"org",
|
||||
{},
|
||||
"text",
|
||||
"GOOGLE INCORPORATED <script>"
|
||||
],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"voice"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"tel",
|
||||
{
|
||||
"type": [
|
||||
"fax"
|
||||
]
|
||||
},
|
||||
"uri",
|
||||
"tel:+1.2126660420"
|
||||
],
|
||||
[
|
||||
"email",
|
||||
{},
|
||||
"text",
|
||||
"lol@cat.lol"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"roles": ["registrar"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
|
@ -511,24 +110,7 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "%REGISTRARNAME%"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type":["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
|
@ -545,8 +127,138 @@
|
|||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"roles": ["abuse"],
|
||||
"status": ["active"],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Jake Doe"],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551216"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551216"],
|
||||
["email", {}, "text", "jakedoe@example.com"]
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_1%",
|
||||
"roles": ["administrative"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Santa Claus"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", [ "", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420" ]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_2%",
|
||||
"roles": ["technical"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Raven"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "%CONTACT_HANDLE_3%",
|
||||
"roles": ["registrant"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Goblin Market"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"objectClassName": "domain"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName": "domain",
|
||||
"handle": "%HANDLE%",
|
||||
"ldhName": "%PUNYCODENAME%",
|
||||
"unicodeName": "%NAME%",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"unicodeName": "%DOMAIN_UNICODE_NAME_1%",
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
|
@ -14,17 +15,17 @@
|
|||
],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%PUNYCODENAME%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%PUNYCODENAME%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
|
@ -33,194 +34,69 @@
|
|||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last changed",
|
||||
"eventDate": "2009-05-29T20:13:00.000Z"
|
||||
}
|
||||
],
|
||||
"nameservers": [
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER1ROID%",
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%NAMESERVER_HANDLE_1%",
|
||||
"ldhName": "%NAMESERVER_NAME_1%",
|
||||
"unicodeName": "%NAMESERVER_UNICODE_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER1PUNYCODENAME%",
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER1PUNYCODENAME%"
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER1PUNYCODENAME%",
|
||||
"unicodeName": "%NAMESERVER1NAME%",
|
||||
"ipAddresses": {
|
||||
"v4": [
|
||||
"%NAMESERVER1ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"handle": "%NAMESERVER2ROID%",
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%NAMESERVER_HANDLE_2%",
|
||||
"ldhName": "%NAMESERVER_NAME_2%",
|
||||
"unicodeName": "%NAMESERVER_UNICODE_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER2PUNYCODENAME%",
|
||||
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER2PUNYCODENAME%"
|
||||
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%NAMESERVER2PUNYCODENAME%",
|
||||
"unicodeName": "%NAMESERVER2NAME%",
|
||||
"ipAddresses": {
|
||||
"v6": [
|
||||
"%NAMESERVER2ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"status": [ "active" ],
|
||||
"handle": "1",
|
||||
"roles": [ "registrar" ],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/entity/1"
|
||||
}
|
||||
],
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"publicIds" : [
|
||||
{
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier":"1"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"secureDNS" : {
|
||||
"delegationSigned": true,
|
||||
"zoneSigned":true,
|
||||
"dsData":[
|
||||
{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}
|
||||
]
|
||||
},
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
"links" : [
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
|
@ -228,32 +104,36 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
"publicIds" : [
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "%REGISTRARNAME%"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
|
||||
]
|
||||
],
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName":"entity",
|
||||
"roles":["abuse"],
|
||||
"status":["active"],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version",{},"text","4.0"],
|
||||
["fn",{},"text","Jake Doe"],
|
||||
["tel",{"type":["voice"]},"uri","tel:+1.2125551216"],
|
||||
["tel",{"type":["fax"]},"uri","tel:+1.2125551216"],
|
||||
["email",{},"text","jakedoe@example.com"]
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -263,15 +143,131 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
},
|
||||
{
|
||||
"title": "Contacts Hidden",
|
||||
"description": [
|
||||
"Domain contacts are visible only to the owning registrar."
|
||||
"objectClassName": "entity",
|
||||
"handle": "REDACTED FOR PRIVACY",
|
||||
"roles":["administrative"],
|
||||
"remarks": [
|
||||
{
|
||||
"title":"REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization",
|
||||
"description": [
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel":"alternate",
|
||||
"type":"text/html",
|
||||
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title":"EMAIL REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
"vcardArray":[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["org", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
|
||||
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"objectClassName":"entity",
|
||||
"handle":"REDACTED FOR PRIVACY",
|
||||
"remarks":[
|
||||
{
|
||||
"title":"REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization",
|
||||
"description":[
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel":"alternate",
|
||||
"type":"text/html",
|
||||
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":[
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
],
|
||||
"title":"EMAIL REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization"
|
||||
}
|
||||
],
|
||||
"roles": ["technical"],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["org", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
|
||||
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"objectClassName":"entity",
|
||||
"handle":"REDACTED FOR PRIVACY",
|
||||
"remarks":[
|
||||
{
|
||||
"title":"REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization",
|
||||
"description":[
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel":"alternate",
|
||||
"type":"text/html",
|
||||
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title":"EMAIL REDACTED FOR PRIVACY",
|
||||
"type":"object redacted due to authorization",
|
||||
"description":[
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"roles":["registrant"],
|
||||
"vcardArray":[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["org", {}, "text", "REDACTED FOR PRIVACY"],
|
||||
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
|
||||
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
|
||||
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,119 +1,88 @@
|
|||
{
|
||||
"domainSearchResults": [
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE1%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME1%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME1%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME1%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE2%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_2%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME2%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME2%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME2%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE3%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_3%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME3%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME3%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME3%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE4%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_4%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_4%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME4%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME4%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME4%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"notices" :
|
||||
|
@ -186,10 +155,8 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"description" :
|
||||
[
|
||||
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
|
||||
],
|
||||
"title": "RDDS Inaccuracy Complaint Form",
|
||||
"description" : ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -1,120 +1,89 @@
|
|||
{
|
||||
"domainSearchResults": [
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE1%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME1%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME1%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME1%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE2%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_2%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME2%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME2%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME2%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE3%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_3%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME3%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME3%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME3%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE4%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_4%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_4%",
|
||||
"unicodeName": "%DOMAIN_UNICODE_NAME_4%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME4%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME4%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINPUNYCODENAME4%",
|
||||
"unicodeName": "%DOMAINNAME4%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"notices" :
|
||||
|
@ -167,10 +136,8 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"description" :
|
||||
[
|
||||
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
|
||||
],
|
||||
"title": "RDDS Inaccuracy Complaint Form",
|
||||
"description" : ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -1,120 +1,89 @@
|
|||
{
|
||||
"domainSearchResults": [
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE1%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME1%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME1%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINPUNYCODENAME1%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE2%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_2%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME2%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME2%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINPUNYCODENAME2%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE3%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_3%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME3%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME3%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINPUNYCODENAME3%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE4%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_4%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_4%",
|
||||
"unicodeName": "%DOMAIN_UNICODE_NAME_4%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME4%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME4%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINPUNYCODENAME4%",
|
||||
"unicodeName": "%DOMAINNAME4%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"notices" :
|
||||
|
@ -187,10 +156,8 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"description" :
|
||||
[
|
||||
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
|
||||
],
|
||||
"title": "RDDS Inaccuracy Complaint Form",
|
||||
"description" : ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -1,23 +1,21 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"domainSearchResults": [
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE1%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME1%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME1%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME1%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -29,23 +27,17 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE2%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_2%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME2%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME2%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME2%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -57,14 +49,10 @@
|
|||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"notices" :
|
||||
[
|
||||
"notices": [
|
||||
{
|
||||
"title" : "RDAP Terms of Service",
|
||||
"description" :
|
||||
"title": "RDAP Terms of Service",
|
||||
"description":
|
||||
[
|
||||
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
|
||||
"Any information provided is 'as is' without any guarantee of accuracy.",
|
||||
|
@ -77,50 +65,42 @@
|
|||
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
|
||||
"We reserve the right to modify this agreement at any time."
|
||||
],
|
||||
"links" :
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/help/tos",
|
||||
"rel" : "alternate",
|
||||
"href" : "https://www.registry.tld/about/rdap/tos.html",
|
||||
"type" : "text/html"
|
||||
"value": "https://example.tld/rdap/help/tos",
|
||||
"rel": "alternate",
|
||||
"href": "https://www.registry.tld/about/rdap/tos.html",
|
||||
"type": "text/html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description" :
|
||||
[
|
||||
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
|
||||
]
|
||||
"description": ["This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"]
|
||||
},
|
||||
{
|
||||
"title" : "Status Codes",
|
||||
"description" :
|
||||
[
|
||||
"For more information on domain status codes, please visit https://icann.org/epp"
|
||||
],
|
||||
"links" :
|
||||
"title": "Status Codes",
|
||||
"description": ["For more information on domain status codes, please visit https://icann.org/epp"],
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://icann.org/epp",
|
||||
"rel" : "alternate",
|
||||
"href" : "https://icann.org/epp",
|
||||
"type" : "text/html"
|
||||
"value": "https://icann.org/epp",
|
||||
"rel": "alternate",
|
||||
"href": "https://icann.org/epp",
|
||||
"type": "text/html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description" :
|
||||
[
|
||||
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
|
||||
],
|
||||
"links" :
|
||||
"title": "RDDS Inaccuracy Complaint Form",
|
||||
"description": ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://www.icann.org/wicf",
|
||||
"rel" : "alternate",
|
||||
"href" : "https://www.icann.org/wicf",
|
||||
"type" : "text/html"
|
||||
"value": "https://www.icann.org/wicf",
|
||||
"rel": "alternate",
|
||||
"href": "https://www.icann.org/wicf",
|
||||
"type": "text/html"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
"%DESCRIPTION%"
|
||||
],
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"notices": [
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"rdapConformance" : ["icann_rdap_response_profile_0"],
|
||||
"rdapConformance" : ["rdap_level_0", "icann_rdap_response_profile_0"],
|
||||
"notices" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"rdapConformance" : ["icann_rdap_response_profile_0"],
|
||||
"rdapConformance" : ["rdap_level_0", "icann_rdap_response_profile_0"],
|
||||
"notices" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"status": [
|
||||
"%STATUS%"
|
||||
],
|
||||
"ldhName": "%NAME%",
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%HANDLE%",
|
||||
"ldhName": "%NAME%",
|
||||
"status": ["%STATUS%"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAME%",
|
||||
|
@ -21,22 +21,15 @@
|
|||
]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -59,17 +52,7 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
["fn", {}, "text", "The Registrar"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"status": [
|
||||
|
@ -16,11 +17,6 @@
|
|||
],
|
||||
"ldhName": "%NAME%",
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -31,7 +27,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -54,17 +49,7 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
["fn", {}, "text", "The Registrar"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%HANDLE%",
|
||||
"ldhName": "%NAME%",
|
||||
"status": [
|
||||
"active",
|
||||
"associated"
|
||||
],
|
||||
"ldhName": "%NAME%",
|
||||
"handle": "%HANDLE%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%NAME%",
|
||||
|
@ -22,22 +24,15 @@
|
|||
]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -60,17 +55,7 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
["fn", {}, "text", "The Registrar"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"status": [
|
||||
"active"
|
||||
],
|
||||
"unicodeName": "%NAME%",
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "%HANDLE%",
|
||||
"ldhName": "%PUNYCODENAME%",
|
||||
"unicodeName": "%NAME%",
|
||||
"status": ["active"],
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/nameserver/%PUNYCODENAME%",
|
||||
|
@ -15,29 +16,21 @@
|
|||
"value": "https://example.tld/rdap/nameserver/%PUNYCODENAME%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%PUNYCODENAME%",
|
||||
"ipAddresses": {
|
||||
"%ADDRESSTYPE%": [
|
||||
"%ADDRESS%"
|
||||
]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"objectClassName": "nameserver",
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -60,17 +53,7 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
["fn", {}, "text", "The Registrar"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -2,26 +2,18 @@
|
|||
"domainSearchResults":
|
||||
[
|
||||
{
|
||||
"handle":"%DOMAINHANDLE1%",
|
||||
"links":
|
||||
[
|
||||
"objectClassName":"domain",
|
||||
"handle":"%DOMAIN_HANDLE_1%",
|
||||
"ldhName":"%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"rel":"self",
|
||||
"href":"https://example.tld/rdap/domain/%DOMAINNAME1%",
|
||||
"value":"https://example.tld/rdap/domain/%DOMAINNAME1%",
|
||||
"href":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"value":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type":"application/rdap+json"
|
||||
}
|
||||
],
|
||||
"ldhName":"%DOMAINNAME1%",
|
||||
"status":
|
||||
[
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"remarks":
|
||||
[
|
||||
"remarks": [
|
||||
{
|
||||
"description":
|
||||
[
|
||||
|
@ -30,30 +22,21 @@
|
|||
"title":"Incomplete Data",
|
||||
"type":"object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"objectClassName":"domain"
|
||||
]
|
||||
},
|
||||
{
|
||||
"handle":"%DOMAINHANDLE2%",
|
||||
"links":
|
||||
[
|
||||
"objectClassName":"domain",
|
||||
"handle":"%DOMAIN_HANDLE_2%",
|
||||
"ldhName":"%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"rel":"self",
|
||||
"href":"https://example.tld/rdap/domain/%DOMAINNAME2%",
|
||||
"value":"https://example.tld/rdap/domain/%DOMAINNAME2%",
|
||||
"href":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"value":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"type":"application/rdap+json"
|
||||
}
|
||||
],
|
||||
"ldhName":"%DOMAINNAME2%",
|
||||
"status":
|
||||
[
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"remarks":
|
||||
[
|
||||
"remarks": [
|
||||
{
|
||||
"description":
|
||||
[
|
||||
|
@ -62,30 +45,21 @@
|
|||
"title":"Incomplete Data",
|
||||
"type":"object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"objectClassName":"domain"
|
||||
]
|
||||
},
|
||||
{
|
||||
"handle":"%DOMAINHANDLE3%",
|
||||
"links":
|
||||
[
|
||||
"objectClassName":"domain",
|
||||
"handle":"%DOMAIN_HANDLE_3%",
|
||||
"ldhName":"%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"links": [
|
||||
{
|
||||
"rel":"self",
|
||||
"href":"https://example.tld/rdap/domain/%DOMAINNAME3%",
|
||||
"value":"https://example.tld/rdap/domain/%DOMAINNAME3%",
|
||||
"href":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"value":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"type":"application/rdap+json"
|
||||
}
|
||||
],
|
||||
"ldhName":"%DOMAINNAME3%",
|
||||
"status":
|
||||
[
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"remarks":
|
||||
[
|
||||
"remarks": [
|
||||
{
|
||||
"description":
|
||||
[
|
||||
|
@ -94,8 +68,7 @@
|
|||
"title":"Incomplete Data",
|
||||
"type":"object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"objectClassName":"domain"
|
||||
]
|
||||
}
|
||||
],
|
||||
"notices":
|
||||
|
@ -156,10 +129,8 @@
|
|||
"title":"Status Codes"
|
||||
},
|
||||
{
|
||||
"description":
|
||||
[
|
||||
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
|
||||
],
|
||||
"title": "RDDS Inaccuracy Complaint Form",
|
||||
"description": ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
|
||||
"links":
|
||||
[
|
||||
{
|
||||
|
@ -173,6 +144,7 @@
|
|||
],
|
||||
"rdapConformance":
|
||||
[
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,127 +1,115 @@
|
|||
{
|
||||
"domainSearchResults":[
|
||||
{
|
||||
"ldhName":"%DOMAINNAME1%",
|
||||
"status":[
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"remarks":[
|
||||
{
|
||||
"title":"Incomplete Data",
|
||||
"type":"object truncated due to unexplainable reasons",
|
||||
"description":[
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
]
|
||||
}
|
||||
],
|
||||
"handle":"%DOMAINHANDLE1%",
|
||||
"links":[
|
||||
{
|
||||
"value":"https://example.tld/rdap/domain/%DOMAINNAME1%",
|
||||
"type":"application/rdap+json",
|
||||
"rel":"self",
|
||||
"href":"https://example.tld/rdap/domain/%DOMAINNAME1%"
|
||||
}
|
||||
],
|
||||
"objectClassName":"domain"
|
||||
},
|
||||
{
|
||||
"ldhName":"%DOMAINNAME2%",
|
||||
"status":[
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"remarks":[
|
||||
{
|
||||
"title":"Incomplete Data",
|
||||
"type":"object truncated due to unexplainable reasons",
|
||||
"description":[
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
]
|
||||
}
|
||||
],
|
||||
"handle":"%DOMAINHANDLE2%",
|
||||
"links":[
|
||||
{
|
||||
"value":"https://example.tld/rdap/domain/%DOMAINNAME2%",
|
||||
"type":"application/rdap+json",
|
||||
"rel":"self",
|
||||
"href":"https://example.tld/rdap/domain/%DOMAINNAME2%"
|
||||
}
|
||||
],
|
||||
"objectClassName":"domain"
|
||||
}
|
||||
],
|
||||
"notices":[
|
||||
{
|
||||
"title":"Search Policy",
|
||||
"type":"result set truncated due to unexplainable reasons",
|
||||
"description":[
|
||||
"Search results may contain incomplete information due to first-stage query limits."
|
||||
"domainSearchResults":[
|
||||
{
|
||||
"objectClassName":"domain",
|
||||
"handle":"%DOMAIN_HANDLE_1%",
|
||||
"ldhName":"%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"remarks":[
|
||||
{
|
||||
"title":"Incomplete Data",
|
||||
"type":"object truncated due to unexplainable reasons",
|
||||
"description":[
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
]
|
||||
}
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"value":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type":"application/rdap+json",
|
||||
"rel":"self",
|
||||
"href":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName":"domain",
|
||||
"handle":"%DOMAIN_HANDLE_2%",
|
||||
"ldhName":"%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"remarks":[
|
||||
{
|
||||
"title":"Incomplete Data",
|
||||
"type":"object truncated due to unexplainable reasons",
|
||||
"description":[
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
]
|
||||
}
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"value":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"type":"application/rdap+json",
|
||||
"rel":"self",
|
||||
"href":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"notices":[
|
||||
{
|
||||
"title":"Search Policy",
|
||||
"type":"result set truncated due to unexplainable reasons",
|
||||
"description":[
|
||||
"Search results may contain incomplete information due to first-stage query limits."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title":"RDAP Terms of Service",
|
||||
"description":[
|
||||
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
|
||||
"Any information provided is 'as is' without any guarantee of accuracy.",
|
||||
"Please do not misuse the Domain Database. It is intended solely for query-based access.",
|
||||
"Don't use the Domain Database to allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations.",
|
||||
"Don't access our Domain Database through the use of high volume, automated electronic processes that send queries or data to the systems of any ICANN-accredited registrar.",
|
||||
"You may only use the information contained in the Domain Database for lawful purposes.",
|
||||
"Do not compile, repackage, disseminate, or otherwise use the information contained in the Domain Database in its entirety, or in any substantial portion, without our prior written permission.",
|
||||
"We may retain certain details about queries to our Domain Database for the purposes of detecting and preventing misuse.",
|
||||
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
|
||||
"We reserve the right to modify this agreement at any time."
|
||||
},
|
||||
{
|
||||
"title":"RDAP Terms of Service",
|
||||
"description":[
|
||||
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
|
||||
"Any information provided is 'as is' without any guarantee of accuracy.",
|
||||
"Please do not misuse the Domain Database. It is intended solely for query-based access.",
|
||||
"Don't use the Domain Database to allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations.",
|
||||
"Don't access our Domain Database through the use of high volume, automated electronic processes that send queries or data to the systems of any ICANN-accredited registrar.",
|
||||
"You may only use the information contained in the Domain Database for lawful purposes.",
|
||||
"Do not compile, repackage, disseminate, or otherwise use the information contained in the Domain Database in its entirety, or in any substantial portion, without our prior written permission.",
|
||||
"We may retain certain details about queries to our Domain Database for the purposes of detecting and preventing misuse.",
|
||||
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
|
||||
"We reserve the right to modify this agreement at any time."
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"value":"https://example.tld/rdap/help/tos",
|
||||
"type":"text/html",
|
||||
"rel":"alternate",
|
||||
"href":"https://www.registry.tld/about/rdap/tos.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":[
|
||||
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title":"Status Codes",
|
||||
"description":[
|
||||
"For more information on domain status codes, please visit https://icann.org/epp"
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"value":"https://example.tld/rdap/help/tos",
|
||||
"type":"text/html",
|
||||
"rel":"alternate",
|
||||
"href":"https://www.registry.tld/about/rdap/tos.html"
|
||||
}
|
||||
{
|
||||
"value":"https://icann.org/epp",
|
||||
"type":"text/html",
|
||||
"rel":"alternate",
|
||||
"href":"https://icann.org/epp"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":[
|
||||
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title":"Status Codes",
|
||||
"description":[
|
||||
"For more information on domain status codes, please visit https://icann.org/epp"
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"value":"https://icann.org/epp",
|
||||
"type":"text/html",
|
||||
"rel":"alternate",
|
||||
"href":"https://icann.org/epp"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description":[
|
||||
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
|
||||
],
|
||||
"links":[
|
||||
{
|
||||
"value":"https://www.icann.org/wicf",
|
||||
"type":"text/html",
|
||||
"rel":"alternate",
|
||||
"href":"https://www.icann.org/wicf"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance":[
|
||||
"icann_rdap_response_profile_0"
|
||||
},
|
||||
{
|
||||
"title": "RDDS Inaccuracy Complaint Form",
|
||||
"description":["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
|
||||
"links":[
|
||||
{
|
||||
"value":"https://www.icann.org/wicf",
|
||||
"type":"text/html",
|
||||
"rel":"alternate",
|
||||
"href":"https://www.icann.org/wicf"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance":[
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [ "icann_rdap_response_profile_0" ],
|
||||
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
|
||||
"notices" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "4-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -14,6 +13,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -21,6 +26,13 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
|
@ -42,15 +54,13 @@
|
|||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "blindly@b.tld"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "2-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -60,6 +70,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -67,6 +83,13 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
|
@ -88,13 +111,12 @@
|
|||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "blinky@b.tld"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [ "icann_rdap_response_profile_0" ],
|
||||
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
|
||||
"notices" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "4-ROID",
|
||||
"status" : ["active", "associated"],
|
||||
"ldhName" : "ns2.cat.lol",
|
||||
"links" :
|
||||
[
|
||||
|
@ -19,6 +18,12 @@
|
|||
{
|
||||
"v6" : ["bad:f00d:cafe::15:beef"]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -27,63 +32,11 @@
|
|||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "6-ROID",
|
||||
"status" : ["active"],
|
||||
"ldhName" : "ns1.cat2.lol",
|
||||
"links" :
|
||||
[
|
||||
|
@ -99,6 +52,12 @@
|
|||
"v4" : ["1.2.3.3"],
|
||||
"v6" : ["bad:f00d:cafe::15:beef"]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -107,61 +66,10 @@
|
|||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance" : ["icann_rdap_response_profile_0"],
|
||||
"rdapConformance" : ["rdap_level_0", "icann_rdap_response_profile_0"],
|
||||
"notices" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0001-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -14,6 +13,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -21,6 +26,13 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
|
@ -42,15 +54,13 @@
|
|||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact1@gmail.com"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0002-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -60,6 +70,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -67,6 +83,13 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
|
@ -88,15 +111,13 @@
|
|||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact2@gmail.com"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0003-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -106,6 +127,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -113,6 +140,13 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
|
@ -134,15 +168,13 @@
|
|||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact3@gmail.com"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0004-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -152,6 +184,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -159,6 +197,13 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
|
@ -180,13 +225,12 @@
|
|||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact4@gmail.com"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [ "icann_rdap_response_profile_0" ],
|
||||
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
|
||||
"notices" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -1,23 +1,17 @@
|
|||
{
|
||||
"domainSearchResults": [
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE1%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_1%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME1%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME1%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME1%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -29,23 +23,17 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE2%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_2%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME2%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME2%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME2%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -57,23 +45,17 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE3%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_3%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME3%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME3%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME3%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -85,23 +67,17 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"status": [
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"handle": "%DOMAINHANDLE4%",
|
||||
"objectClassName": "domain",
|
||||
"handle": "%DOMAIN_HANDLE_4%",
|
||||
"ldhName": "%DOMAIN_PUNYCODE_NAME_4%",
|
||||
"links": [
|
||||
{
|
||||
"href": "https://example.tld/rdap/domain/%DOMAINNAME4%",
|
||||
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%",
|
||||
"type": "application/rdap+json",
|
||||
"rel": "self",
|
||||
"value": "https://example.tld/rdap/domain/%DOMAINNAME4%"
|
||||
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%"
|
||||
}
|
||||
],
|
||||
"ldhName": "%DOMAINNAME4%",
|
||||
"objectClassName": "domain",
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -114,6 +90,7 @@
|
|||
}
|
||||
],
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"notices" :
|
||||
|
@ -166,10 +143,8 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"description" :
|
||||
[
|
||||
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
|
||||
],
|
||||
"title": "RDDS Inaccuracy Complaint Form",
|
||||
"description" : ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "14-ROID",
|
||||
"status" : ["active"],
|
||||
"ldhName" : "nsx1.cat.lol",
|
||||
"links" :
|
||||
[
|
||||
|
@ -19,6 +18,12 @@
|
|||
{
|
||||
"v4" : ["5.5.5.1", "5.5.5.2"]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -27,63 +32,11 @@
|
|||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "15-ROID",
|
||||
"status" : ["active"],
|
||||
"ldhName" : "nsx2.cat.lol",
|
||||
"links" :
|
||||
[
|
||||
|
@ -98,6 +51,12 @@
|
|||
{
|
||||
"v4" : ["5.5.5.1", "5.5.5.2"]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -106,63 +65,11 @@
|
|||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "16-ROID",
|
||||
"status" : ["active"],
|
||||
"ldhName" : "nsx3.cat.lol",
|
||||
"links" :
|
||||
[
|
||||
|
@ -177,6 +84,12 @@
|
|||
{
|
||||
"v4" : ["5.5.5.1", "5.5.5.2"]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -185,63 +98,11 @@
|
|||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "17-ROID",
|
||||
"status" : ["active"],
|
||||
"ldhName" : "nsx4.cat.lol",
|
||||
"links" :
|
||||
[
|
||||
|
@ -256,6 +117,12 @@
|
|||
{
|
||||
"v4" : ["5.5.5.1", "5.5.5.2"]
|
||||
},
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -264,61 +131,10 @@
|
|||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance" : ["icann_rdap_response_profile_0"],
|
||||
"rdapConformance" : ["rdap_level_0", "icann_rdap_response_profile_0"],
|
||||
"notices" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -2,23 +2,28 @@
|
|||
"entitySearchResults":
|
||||
[
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "301",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "301",
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/301",
|
||||
"rel" : "self",
|
||||
"value": "https://example.tld/rdap/entity/301",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/301",
|
||||
"type" : "application/rdap+json"
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
"publicIds":
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "301"
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier": "301"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -30,7 +35,7 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
|
@ -47,31 +52,36 @@
|
|||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
]
|
||||
],
|
||||
"roles" : ["registrar"]
|
||||
"roles": ["registrar"]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "302",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "302",
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/302",
|
||||
"rel" : "self",
|
||||
"value": "https://example.tld/rdap/entity/302",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/302",
|
||||
"type" : "application/rdap+json"
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
"publicIds":
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "302"
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier": "302"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -83,7 +93,7 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
|
@ -100,31 +110,36 @@
|
|||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
]
|
||||
],
|
||||
"roles" : ["registrar"]
|
||||
"roles": ["registrar"]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "303",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "303",
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/303",
|
||||
"rel" : "self",
|
||||
"value": "https://example.tld/rdap/entity/303",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/303",
|
||||
"type" : "application/rdap+json"
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
"publicIds":
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "303"
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier": "303"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -136,7 +151,7 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
|
@ -153,31 +168,36 @@
|
|||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
]
|
||||
],
|
||||
"roles" : ["registrar"]
|
||||
"roles": ["registrar"]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "304",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "304",
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/304",
|
||||
"rel" : "self",
|
||||
"value": "https://example.tld/rdap/entity/304",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/304",
|
||||
"type" : "application/rdap+json"
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
"publicIds":
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "304"
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier": "304"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -189,7 +209,7 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
|
@ -206,20 +226,20 @@
|
|||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
]
|
||||
],
|
||||
"roles" : ["registrar"]
|
||||
"roles": ["registrar"]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [ "icann_rdap_response_profile_0" ],
|
||||
"notices" :
|
||||
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
|
||||
"notices":
|
||||
[
|
||||
{
|
||||
"title" : "RDAP Terms of Service",
|
||||
"description" :
|
||||
"title": "RDAP Terms of Service",
|
||||
"description":
|
||||
[
|
||||
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
|
||||
"Any information provided is 'as is' without any guarantee of accuracy.",
|
||||
|
@ -232,18 +252,18 @@
|
|||
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
|
||||
"We reserve the right to modify this agreement at any time."
|
||||
],
|
||||
"links" :
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/help/tos",
|
||||
"rel" : "alternate",
|
||||
"href" : "https://www.registry.tld/about/rdap/tos.html",
|
||||
"type" : "text/html"
|
||||
"value": "https://example.tld/rdap/help/tos",
|
||||
"rel": "alternate",
|
||||
"href": "https://www.registry.tld/about/rdap/tos.html",
|
||||
"type": "text/html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description" :
|
||||
"description":
|
||||
[
|
||||
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
|
||||
]
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName" : "entity",
|
||||
|
@ -23,11 +24,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "%NAME%",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"rdapConformance": [
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"objectClassName" : "entity",
|
||||
|
@ -7,11 +8,6 @@
|
|||
"status" : ["%STATUS%"],
|
||||
"roles" : ["registrar"],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "%NAME%",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
|
|
@ -2,16 +2,21 @@
|
|||
"entitySearchResults":
|
||||
[
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0001-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "0001-ROID",
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/0001-ROID",
|
||||
"rel" : "self",
|
||||
"value": "https://example.tld/rdap/entity/0001-ROID",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/0001-ROID",
|
||||
"type" : "application/rdap+json"
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -21,9 +26,16 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
|
@ -41,23 +53,27 @@
|
|||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact1@gmail.com"]
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0002-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "0002-ROID",
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/0002-ROID",
|
||||
"rel" : "self",
|
||||
"value": "https://example.tld/rdap/entity/0002-ROID",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/0002-ROID",
|
||||
"type" : "application/rdap+json"
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -67,9 +83,16 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
|
@ -87,23 +110,27 @@
|
|||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact2@gmail.com"]
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0003-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "0003-ROID",
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/0003-ROID",
|
||||
"rel" : "self",
|
||||
"value": "https://example.tld/rdap/entity/0003-ROID",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/0003-ROID",
|
||||
"type" : "application/rdap+json"
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -113,9 +140,16 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
|
@ -133,23 +167,27 @@
|
|||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact3@gmail.com"]
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0004-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "0004-ROID",
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/0004-ROID",
|
||||
"rel" : "self",
|
||||
"value": "https://example.tld/rdap/entity/0004-ROID",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/0004-ROID",
|
||||
"type" : "application/rdap+json"
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -159,9 +197,16 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
|
@ -179,39 +224,38 @@
|
|||
"United States"
|
||||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact4@gmail.com"]
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [ "icann_rdap_response_profile_0" ],
|
||||
"notices" :
|
||||
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
|
||||
"notices":
|
||||
[
|
||||
{
|
||||
"title" : "Search Policy",
|
||||
"type" : "result set truncated due to unexplainable reasons",
|
||||
"description" :
|
||||
"title": "Search Policy",
|
||||
"type": "result set truncated due to unexplainable reasons",
|
||||
"description":
|
||||
[
|
||||
"Search results per query are limited."
|
||||
]
|
||||
},
|
||||
{
|
||||
"title" : "Navigation Links",
|
||||
"links" :
|
||||
"title": "Navigation Links",
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"type" : "application/rdap+json",
|
||||
"href" : "https://example.tld/rdap/entities?%NAME%",
|
||||
"rel" : "next"
|
||||
"type": "application/rdap+json",
|
||||
"href": "https://example.tld/rdap/entities?%NAME%",
|
||||
"rel": "next"
|
||||
}
|
||||
],
|
||||
"description" : [ "Links to related pages." ]
|
||||
"description": [ "Links to related pages." ]
|
||||
},
|
||||
{
|
||||
"title" : "RDAP Terms of Service",
|
||||
"description" :
|
||||
"title": "RDAP Terms of Service",
|
||||
"description":
|
||||
[
|
||||
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
|
||||
"Any information provided is 'as is' without any guarantee of accuracy.",
|
||||
|
@ -224,18 +268,18 @@
|
|||
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
|
||||
"We reserve the right to modify this agreement at any time."
|
||||
],
|
||||
"links" :
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/help/tos",
|
||||
"rel" : "alternate",
|
||||
"href" : "https://www.registry.tld/about/rdap/tos.html",
|
||||
"type" : "text/html"
|
||||
"value": "https://example.tld/rdap/help/tos",
|
||||
"rel": "alternate",
|
||||
"href": "https://www.registry.tld/about/rdap/tos.html",
|
||||
"type": "text/html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description" :
|
||||
"description":
|
||||
[
|
||||
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
|
||||
]
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "14-ROID",
|
||||
"status" : ["active"],
|
||||
"ldhName" : "nsx1.cat.lol",
|
||||
"links" :
|
||||
[
|
||||
|
@ -28,62 +27,16 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
"events": [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "15-ROID",
|
||||
"status" : ["active"],
|
||||
"ldhName" : "nsx2.cat.lol",
|
||||
"links" :
|
||||
[
|
||||
|
@ -107,62 +60,16 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
"events" :[
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "16-ROID",
|
||||
"status" : ["active"],
|
||||
"ldhName" : "nsx3.cat.lol",
|
||||
"links" :
|
||||
[
|
||||
|
@ -186,62 +93,16 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
"events": [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "17-ROID",
|
||||
"status" : ["active"],
|
||||
"ldhName" : "nsx4.cat.lol",
|
||||
"links" :
|
||||
[
|
||||
|
@ -265,60 +126,15 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
"events": [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Registrar"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard",
|
||||
"Williamsburg",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
|
||||
["email", {}, "text", "the.registrar@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"rdapConformance" : ["icann_rdap_response_profile_0"],
|
||||
"rdapConformance" : ["rdap_level_0", "icann_rdap_response_profile_0"],
|
||||
"notices" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0001-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -14,6 +13,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -21,6 +26,13 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
|
@ -42,15 +54,13 @@
|
|||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact1@gmail.com"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0002-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -60,6 +70,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -67,6 +83,13 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
|
@ -88,15 +111,13 @@
|
|||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact2@gmail.com"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "0003-ROID",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -106,6 +127,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -113,6 +140,13 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
|
@ -134,15 +168,13 @@
|
|||
]
|
||||
],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "contact3@gmail.com"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "301",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -159,6 +191,12 @@
|
|||
"identifier" : "301"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -193,7 +231,7 @@
|
|||
"roles" : ["registrar"]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [ "icann_rdap_response_profile_0" ],
|
||||
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
|
||||
"notices" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "301",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -21,6 +20,12 @@
|
|||
"identifier" : "301"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -57,7 +62,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "302",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -74,6 +78,12 @@
|
|||
"identifier" : "302"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -110,7 +120,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "303",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -127,6 +136,12 @@
|
|||
"identifier" : "303"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -163,7 +178,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "304",
|
||||
"status" : ["active"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -180,6 +194,12 @@
|
|||
"identifier" : "304"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -214,7 +234,7 @@
|
|||
"roles" : ["registrar"]
|
||||
}
|
||||
],
|
||||
"rdapConformance": [ "icann_rdap_response_profile_0" ],
|
||||
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
|
||||
"notices" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"key":"value","rdapConformance":["icann_rdap_response_profile_0"],"notices":[{"title":"RDAP Terms of Service","links":[{"href":"https:\/\/www.registry.tld\/about\/rdap\/tos.html","rel":"alternate","type":"text\/html","value":"http:\/\/myserver.example.com\/help\/tos"}],"description":["By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.","Any information provided is 'as is' without any guarantee of accuracy.","Please do not misuse the Domain Database. It is intended solely for query-based access.","Don't use the Domain Database to allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations.","Don't access our Domain Database through the use of high volume, automated electronic processes that send queries or data to the systems of any ICANN-accredited registrar.","You may only use the information contained in the Domain Database for lawful purposes.","Do not compile, repackage, disseminate, or otherwise use the information contained in the Domain Database in its entirety, or in any substantial portion, without our prior written permission.","We may retain certain details about queries to our Domain Database for the purposes of detecting and preventing misuse.","We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.","We reserve the right to modify this agreement at any time."]}]}
|
||||
{"key":"value","rdapConformance":["rdap_level_0","icann_rdap_response_profile_0"],"notices":[{"title":"RDAP Terms of Service","links":[{"href":"https:\/\/www.registry.tld\/about\/rdap\/tos.html","rel":"alternate","type":"text\/html","value":"http:\/\/myserver.example.com\/help\/tos"}],"description":["By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.","Any information provided is 'as is' without any guarantee of accuracy.","Please do not misuse the Domain Database. It is intended solely for query-based access.","Don't use the Domain Database to allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations.","Don't access our Domain Database through the use of high volume, automated electronic processes that send queries or data to the systems of any ICANN-accredited registrar.","You may only use the information contained in the Domain Database for lawful purposes.","Do not compile, repackage, disseminate, or otherwise use the information contained in the Domain Database in its entirety, or in any substantial portion, without our prior written permission.","We may retain certain details about queries to our Domain Database for the purposes of detecting and preventing misuse.","We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.","We reserve the right to modify this agreement at any time."]}]}
|
||||
|
|
|
@ -13,11 +13,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -45,5 +40,14 @@
|
|||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -25,22 +25,22 @@
|
|||
"eventActor": "foo",
|
||||
"eventDate": "1999-09-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
"eventDate": "2110-10-08T00:44:59.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "transfer",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-12-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
"eventDate": "2110-10-08T00:44:59.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last changed",
|
||||
"eventDate": "1999-12-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"nameservers" :
|
||||
|
@ -50,9 +50,7 @@
|
|||
"handle" : "A-ROID",
|
||||
"ldhName" : "ns1.cat.xn--q9jyb4c",
|
||||
"unicodeName" : "ns1.cat.みんな",
|
||||
"status" : ["active", "associated"],
|
||||
"links" :
|
||||
[
|
||||
"links" : [
|
||||
{
|
||||
"value" : "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
|
||||
"rel" : "self",
|
||||
|
@ -60,71 +58,11 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"ipAddresses" :
|
||||
{
|
||||
"v4" : ["1.2.3.4"]
|
||||
},
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -133,9 +71,7 @@
|
|||
"handle" : "C-ROID",
|
||||
"ldhName" : "ns2.cat.xn--q9jyb4c",
|
||||
"unicodeName" : "ns2.cat.みんな",
|
||||
"status" : ["active", "associated"],
|
||||
"links" :
|
||||
[
|
||||
"links" : [
|
||||
{
|
||||
"value" : "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
|
||||
"rel" : "self",
|
||||
|
@ -143,81 +79,63 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"ipAddresses" :
|
||||
{
|
||||
"v6" : ["bad:f00d:cafe::15:beef"]
|
||||
},
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"secureDNS": {
|
||||
"delegationSigned": true,
|
||||
"zoneSigned": true,
|
||||
"dsData": [{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}]
|
||||
},
|
||||
"entities" :
|
||||
[
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "4-ROID",
|
||||
"status" : ["active", "associated"],
|
||||
"roles" : ["administrative"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -228,17 +146,6 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
|
@ -261,12 +168,25 @@
|
|||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "6-ROID",
|
||||
"status" : ["active", "associated"],
|
||||
"roles" : ["technical"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -277,17 +197,6 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
|
@ -307,15 +216,27 @@
|
|||
"31337",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "bog@cat.みんな"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "2-ROID",
|
||||
"status" : ["active", "associated"],
|
||||
"roles" : ["registrant"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -326,17 +247,6 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
|
@ -345,58 +255,21 @@
|
|||
["fn", {}, "text", "(◕‿◕)"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "lol@cat.みんな"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
{
|
||||
"objectClassName" : "domain",
|
||||
"handle" : "17-Q9JYB4C",
|
||||
"ldhName" : "cat.xn--q9jyb4c",
|
||||
"unicodeName" : "cat.みんな",
|
||||
"status" :
|
||||
"objectClassName": "domain",
|
||||
"handle": "17-Q9JYB4C",
|
||||
"ldhName": "cat.xn--q9jyb4c",
|
||||
"unicodeName": "cat.みんな",
|
||||
"status":
|
||||
[
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"links" :
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
|
@ -25,232 +25,98 @@
|
|||
"eventActor": "foo",
|
||||
"eventDate": "1999-09-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
"eventDate": "2110-10-08T00:44:59.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "transfer",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-12-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "expiration",
|
||||
"eventDate": "2110-10-08T00:44:59.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last changed",
|
||||
"eventDate": "1999-12-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"nameservers" :
|
||||
[
|
||||
"nameservers": [
|
||||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "A-ROID",
|
||||
"ldhName" : "ns1.cat.xn--q9jyb4c",
|
||||
"unicodeName" : "ns1.cat.みんな",
|
||||
"status" : ["active", "associated"],
|
||||
"links" :
|
||||
[
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "A-ROID",
|
||||
"ldhName": "ns1.cat.xn--q9jyb4c",
|
||||
"unicodeName": "ns1.cat.みんな",
|
||||
"links": [
|
||||
{
|
||||
"value" : "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"ipAddresses" :
|
||||
{
|
||||
"v4" : ["1.2.3.4"]
|
||||
},
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "C-ROID",
|
||||
"ldhName" : "ns2.cat.xn--q9jyb4c",
|
||||
"unicodeName" : "ns2.cat.みんな",
|
||||
"status" : ["active", "associated"],
|
||||
"links" :
|
||||
[
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "C-ROID",
|
||||
"ldhName": "ns2.cat.xn--q9jyb4c",
|
||||
"unicodeName": "ns2.cat.みんな",
|
||||
"links": [
|
||||
{
|
||||
"value" : "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
"remarks": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"ipAddresses" :
|
||||
{
|
||||
"v6" : ["bad:f00d:cafe::15:beef"]
|
||||
},
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"secureDNS": {
|
||||
"delegationSigned": true,
|
||||
"dsData": [{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}],
|
||||
"zoneSigned": true
|
||||
},
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
"objectClassName": "entity",
|
||||
"handle": "1",
|
||||
"roles": ["registrar"],
|
||||
"links": [
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/entity/1",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
"publicIds": [
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier": "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "みんな"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -262,15 +128,168 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
},
|
||||
{
|
||||
"title": "Contacts Hidden",
|
||||
"description": [
|
||||
"Domain contacts are visible only to the owning registrar."
|
||||
"objectClassName": "entity",
|
||||
"handle": "REDACTED FOR PRIVACY",
|
||||
"roles": ["administrative"],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"type": "text/html",
|
||||
"href": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel": "alternate",
|
||||
"value": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version",{},"text","4.0"],
|
||||
["fn",{},"text","REDACTED FOR PRIVACY"],
|
||||
["org",{},"text","REDACTED FOR PRIVACY"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"XX"
|
||||
]
|
||||
],
|
||||
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
|
||||
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "REDACTED FOR PRIVACY",
|
||||
"roles": ["technical"],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"type": "text/html",
|
||||
"href": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel": "alternate",
|
||||
"value": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version",{},"text","4.0"],
|
||||
["fn",{},"text","REDACTED FOR PRIVACY"],
|
||||
["org",{},"text","REDACTED FOR PRIVACY"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"XX"
|
||||
]
|
||||
],
|
||||
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
|
||||
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "REDACTED FOR PRIVACY",
|
||||
"roles": ["registrant"],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"type": "text/html",
|
||||
"href": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel": "alternate",
|
||||
"value": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version",{},"text","4.0"],
|
||||
["fn",{},"text","REDACTED FOR PRIVACY"],
|
||||
["org",{},"text","REDACTED FOR PRIVACY"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"XX"
|
||||
]
|
||||
],
|
||||
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
|
||||
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"objectClassName" : "domain",
|
||||
"handle" : "18-Q9JYB4C",
|
||||
"ldhName" : "fish.xn--q9jyb4c",
|
||||
"unicodeName" : "fish.みんな",
|
||||
"status" :
|
||||
"objectClassName": "domain",
|
||||
"handle": "18-Q9JYB4C",
|
||||
"ldhName": "fish.xn--q9jyb4c",
|
||||
"unicodeName": "fish.みんな",
|
||||
"status":
|
||||
[
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
|
@ -11,13 +11,13 @@
|
|||
"inactive",
|
||||
"server update prohibited"
|
||||
],
|
||||
"links" :
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/domain/fish.xn--q9jyb4c",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/domain/fish.xn--q9jyb4c",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/domain/fish.xn--q9jyb4c",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/domain/fish.xn--q9jyb4c",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
|
@ -35,182 +35,38 @@
|
|||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"entities" :
|
||||
[
|
||||
"secureDNS": {
|
||||
"delegationSigned": true,
|
||||
"dsData": [{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}],
|
||||
"zoneSigned": true
|
||||
},
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "4-ROID",
|
||||
"status" : ["active", "associated"],
|
||||
"roles" : ["administrative"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "1",
|
||||
"roles": ["registrar"],
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/4-ROID",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/4-ROID",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/entity/1",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
"publicIds":
|
||||
[
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier": "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "Santa Claus"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
[
|
||||
"Santa Claus Tower",
|
||||
"41st floor",
|
||||
"Suite みんな"
|
||||
],
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "6-ROID",
|
||||
"status" : ["active", "associated"],
|
||||
"roles" : ["technical"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/6-ROID",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/6-ROID",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "The Raven"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
[
|
||||
"Chamber Door",
|
||||
"upper level"
|
||||
],
|
||||
"KOKOMO",
|
||||
"BM",
|
||||
"31337",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "bog@cat.みんな"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "2-ROID",
|
||||
"status" : ["active", "associated"],
|
||||
"roles" : ["registrant"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/2-ROID",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/2-ROID",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "(◕‿◕)"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "lol@cat.みんな"]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "みんな"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
@ -222,6 +78,43 @@
|
|||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"objectClassName": "entity",
|
||||
"handle": "2-ROID",
|
||||
"roles": ["administrative", "technical", "registrant"],
|
||||
"links": [
|
||||
{
|
||||
"value": "https://example.tld/rdap/entity/2-ROID",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/2-ROID",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "(◕‿◕)"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"type": "object truncated due to unexplainable reasons",
|
||||
"description": ["Summary data only. For complete data, send a specific query for the object."]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,22 +1,14 @@
|
|||
{
|
||||
"objectClassName" : "domain",
|
||||
"handle" : "17-Q9JYB4C",
|
||||
"ldhName" : "cat.xn--q9jyb4c",
|
||||
"unicodeName" : "cat.みんな",
|
||||
"status" :
|
||||
[
|
||||
"client delete prohibited",
|
||||
"client renew prohibited",
|
||||
"client transfer prohibited",
|
||||
"server update prohibited"
|
||||
],
|
||||
"links" :
|
||||
[
|
||||
"objectClassName": "domain",
|
||||
"handle": "17-Q9JYB4C",
|
||||
"ldhName": "cat.xn--q9jyb4c",
|
||||
"unicodeName": "cat.みんな",
|
||||
"links": [
|
||||
{
|
||||
"value" : "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -14,11 +14,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -33,7 +28,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -56,18 +50,7 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "みんな"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
"handle" : "E-ROID",
|
||||
"ldhName" : "ns3.cat.xn--q9jyb4c",
|
||||
"unicodeName" : "ns3.cat.みんな",
|
||||
"status" : ["active", "associated"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
|
@ -13,6 +12,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"ipAddresses" :
|
||||
{
|
||||
"v4" : ["1.2.3.4"],
|
||||
|
@ -26,57 +31,5 @@
|
|||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
],
|
||||
"entities" : [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
"description": [
|
||||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,72 +1,52 @@
|
|||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "A-ROID",
|
||||
"ldhName" : "ns1.cat.xn--q9jyb4c",
|
||||
"unicodeName" : "ns1.cat.みんな",
|
||||
"status" : ["active", "associated"],
|
||||
"links" :
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "A-ROID",
|
||||
"ldhName": "ns1.cat.xn--q9jyb4c",
|
||||
"unicodeName": "ns1.cat.みんな",
|
||||
"status": ["active", "associated"],
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"ipAddresses" :
|
||||
{
|
||||
"v4" : ["1.2.3.4"]
|
||||
},
|
||||
"entities" : [
|
||||
"ipAddresses": {"v4": ["1.2.3.4"]},
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "1",
|
||||
"roles": ["registrar"],
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/entity/1",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
"publicIds":
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier": "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "みんな"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -1,72 +1,52 @@
|
|||
{
|
||||
"objectClassName" : "nameserver",
|
||||
"handle" : "C-ROID",
|
||||
"ldhName" : "ns2.cat.xn--q9jyb4c",
|
||||
"unicodeName" : "ns2.cat.みんな",
|
||||
"status" : ["active", "associated"],
|
||||
"links" :
|
||||
"objectClassName": "nameserver",
|
||||
"handle": "C-ROID",
|
||||
"ldhName": "ns2.cat.xn--q9jyb4c",
|
||||
"unicodeName": "ns2.cat.みんな",
|
||||
"status": ["active", "associated"],
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1998-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"ipAddresses" :
|
||||
{
|
||||
"v6" : ["bad:f00d:cafe::15:beef"]
|
||||
},
|
||||
"entities" : [
|
||||
"ipAddresses": {"v6": ["bad:f00d:cafe::15:beef"]},
|
||||
"entities": [
|
||||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
"objectClassName": "entity",
|
||||
"handle": "1",
|
||||
"roles": ["registrar"],
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/1",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/1",
|
||||
"type" : "application/rdap+json"
|
||||
"value": "https://example.tld/rdap/entity/1",
|
||||
"rel": "self",
|
||||
"href": "https://example.tld/rdap/entity/1",
|
||||
"type": "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
"publicIds":
|
||||
[
|
||||
{
|
||||
"type" : "IANA Registrar ID",
|
||||
"identifier" : "1"
|
||||
"type": "IANA Registrar ID",
|
||||
"identifier": "1"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
"vcardArray":
|
||||
[
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "みんな"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -14,11 +14,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1996-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -28,7 +23,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -51,18 +45,7 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "みんな"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -14,11 +14,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1995-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -28,7 +23,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -51,18 +45,7 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "みんな"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -14,11 +14,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1994-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -28,7 +23,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -51,18 +45,7 @@
|
|||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "みんな"],
|
||||
["adr", {}, "text", [
|
||||
"",
|
||||
"",
|
||||
"123 Example Boulevard <script>",
|
||||
"Williamsburg <script>",
|
||||
"NY",
|
||||
"11211",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
|
||||
["email", {}, "text", "contact-us@example.com"]
|
||||
["fn", {}, "text", "みんな"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
|
|
|
@ -13,26 +13,29 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"vcardArray" :
|
||||
[
|
||||
"vcardArray" : [
|
||||
"vcard",
|
||||
[
|
||||
["version", {}, "text", "4.0"],
|
||||
["fn", {}, "text", "(◕‿◕)"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "lol@cat.みんな"]
|
||||
["org",{},"text","GOOGLE INCORPORATED <script>"],
|
||||
["tel",{"type":["voice"]},"uri","tel:+1.2126660420"],
|
||||
["tel",{"type":["fax"]},"uri","tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
|
|
|
@ -1,45 +1,60 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "2-ROID",
|
||||
"status" : ["active", "associated", "removed"],
|
||||
"handle" : "REDACTED FOR PRIVACY",
|
||||
"roles" : ["registrant"],
|
||||
"links" :
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/entity/2-ROID",
|
||||
"rel" : "self",
|
||||
"href" : "https://example.tld/rdap/entity/2-ROID",
|
||||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"vcardArray": [
|
||||
"vcard",
|
||||
[
|
||||
["version",{},"text","4.0"],
|
||||
["fn",{},"text","REDACTED FOR PRIVACY"],
|
||||
["org",{},"text","REDACTED FOR PRIVACY"],
|
||||
[
|
||||
"adr",
|
||||
{},
|
||||
"text",
|
||||
[
|
||||
"",
|
||||
"",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"REDACTED FOR PRIVACY",
|
||||
"XX"
|
||||
]
|
||||
],
|
||||
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
|
||||
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Redacted for Privacy",
|
||||
"title": "REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Some of the data in this object has been removed.",
|
||||
"Contact personal data is visible only to the owning registrar."
|
||||
],
|
||||
"type": "object redacted due to authorization",
|
||||
"links" :
|
||||
[
|
||||
"links": [
|
||||
{
|
||||
"value" : "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel" : "alternate",
|
||||
"href" : "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"type" : "text/html"
|
||||
"type": "text/html",
|
||||
"href": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
|
||||
"rel": "alternate",
|
||||
"value": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "2-ROID",
|
||||
"status" : ["active", "associated"],
|
||||
"roles" : ["registrant"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -20,10 +19,15 @@
|
|||
["fn", {}, "text", "(◕‿◕)"],
|
||||
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "lol@cat.みんな"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "Incomplete Data",
|
||||
|
@ -31,6 +35,13 @@
|
|||
"Summary data only. For complete data, send a specific query for the object."
|
||||
],
|
||||
"type": "object truncated due to unexplainable reasons"
|
||||
},
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -13,15 +13,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "1",
|
||||
"eventDate": "1999-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last changed",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
"objectClassName" : "entity",
|
||||
"handle" : "1",
|
||||
"status" : ["active"],
|
||||
"roles" : ["registrar"],
|
||||
"links" :
|
||||
[
|
||||
|
@ -12,6 +11,12 @@
|
|||
"type" : "application/rdap+json"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"publicIds" :
|
||||
[
|
||||
{
|
||||
|
|
|
@ -12,11 +12,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -41,8 +36,16 @@
|
|||
"31337",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "bog@cat.みんな"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -13,11 +13,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1997-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -42,8 +37,16 @@
|
|||
"31337",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "bog@cat.みんな"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
"key" : "value",
|
||||
"rdapConformance" :
|
||||
[
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"notices" :
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
{
|
||||
"key" : "value",
|
||||
"rdapConformance" :
|
||||
"key": "value",
|
||||
"rdapConformance":
|
||||
[
|
||||
"rdap_level_0",
|
||||
"icann_rdap_response_profile_0"
|
||||
],
|
||||
"notices" :
|
||||
"notices":
|
||||
[
|
||||
{
|
||||
"title" : "RDAP Terms of Service",
|
||||
"description" :
|
||||
"title": "RDAP Terms of Service",
|
||||
"description":
|
||||
[
|
||||
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
|
||||
"Any information provided is 'as is' without any guarantee of accuracy.",
|
||||
|
@ -21,50 +22,48 @@
|
|||
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
|
||||
"We reserve the right to modify this agreement at any time."
|
||||
],
|
||||
"links" :
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://example.tld/rdap/help/tos",
|
||||
"rel" : "alternate",
|
||||
"href" : "https://www.registry.tld/about/rdap/tos.html",
|
||||
"type" : "text/html"
|
||||
"value": "https://example.tld/rdap/help/tos",
|
||||
"rel": "alternate",
|
||||
"href": "https://www.registry.tld/about/rdap/tos.html",
|
||||
"type": "text/html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description" :
|
||||
"description":
|
||||
[
|
||||
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title" : "Status Codes",
|
||||
"description" :
|
||||
"title": "Status Codes",
|
||||
"description":
|
||||
[
|
||||
"For more information on domain status codes, please visit https://icann.org/epp"
|
||||
],
|
||||
"links" :
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://icann.org/epp",
|
||||
"rel" : "alternate",
|
||||
"href" : "https://icann.org/epp",
|
||||
"type" : "text/html"
|
||||
"value": "https://icann.org/epp",
|
||||
"rel": "alternate",
|
||||
"href": "https://icann.org/epp",
|
||||
"type": "text/html"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description" :
|
||||
[
|
||||
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
|
||||
],
|
||||
"links" :
|
||||
"title": "RDDS Inaccuracy Complaint Form",
|
||||
"description": ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
|
||||
"links":
|
||||
[
|
||||
{
|
||||
"value" : "https://www.icann.org/wicf",
|
||||
"rel" : "alternate",
|
||||
"href" : "https://www.icann.org/wicf",
|
||||
"type" : "text/html"
|
||||
"value": "https://www.icann.org/wicf",
|
||||
"rel": "alternate",
|
||||
"href": "https://www.icann.org/wicf",
|
||||
"type": "text/html"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -12,11 +12,6 @@
|
|||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"eventAction": "registration",
|
||||
"eventActor": "foo",
|
||||
"eventDate": "1996-01-01T00:00:00.000Z"
|
||||
},
|
||||
{
|
||||
"eventAction": "last update of RDAP database",
|
||||
"eventDate": "2000-01-01T00:00:00.000Z"
|
||||
|
@ -41,8 +36,16 @@
|
|||
"31337",
|
||||
"United States"]],
|
||||
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
|
||||
["email", {}, "text", "dog@cat.みんな"]
|
||||
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
|
||||
]
|
||||
],
|
||||
"remarks": [
|
||||
{
|
||||
"title": "EMAIL REDACTED FOR PRIVACY",
|
||||
"type": "object redacted due to authorization",
|
||||
"description": [
|
||||
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -340,19 +340,22 @@ public final class FullFieldsTestEntityHelper {
|
|||
@Nullable HostResource ns1,
|
||||
@Nullable HostResource ns2,
|
||||
Registrar registrar) {
|
||||
DomainBase.Builder builder = new DomainBase.Builder()
|
||||
.setFullyQualifiedDomainName(Idn.toASCII(domain))
|
||||
.setRepoId(generateNewDomainRoid(getTldFromDomainName(Idn.toASCII(domain))))
|
||||
.setLastEppUpdateTime(DateTime.parse("2009-05-29T20:13:00Z"))
|
||||
.setCreationTimeForTest(DateTime.parse("2000-10-08T00:45:00Z"))
|
||||
.setRegistrationExpirationTime(DateTime.parse("2110-10-08T00:44:59Z"))
|
||||
.setPersistedCurrentSponsorClientId(registrar.getClientId())
|
||||
.setStatusValues(ImmutableSet.of(
|
||||
StatusValue.CLIENT_DELETE_PROHIBITED,
|
||||
StatusValue.CLIENT_RENEW_PROHIBITED,
|
||||
StatusValue.CLIENT_TRANSFER_PROHIBITED,
|
||||
StatusValue.SERVER_UPDATE_PROHIBITED))
|
||||
.setDsData(ImmutableSet.of(new DelegationSignerData()));
|
||||
DomainBase.Builder builder =
|
||||
new DomainBase.Builder()
|
||||
.setFullyQualifiedDomainName(Idn.toASCII(domain))
|
||||
.setRepoId(generateNewDomainRoid(getTldFromDomainName(Idn.toASCII(domain))))
|
||||
.setLastEppUpdateTime(DateTime.parse("2009-05-29T20:13:00Z"))
|
||||
.setCreationTimeForTest(DateTime.parse("2000-10-08T00:45:00Z"))
|
||||
.setRegistrationExpirationTime(DateTime.parse("2110-10-08T00:44:59Z"))
|
||||
.setPersistedCurrentSponsorClientId(registrar.getClientId())
|
||||
.setCreationClientId(registrar.getClientId())
|
||||
.setStatusValues(
|
||||
ImmutableSet.of(
|
||||
StatusValue.CLIENT_DELETE_PROHIBITED,
|
||||
StatusValue.CLIENT_RENEW_PROHIBITED,
|
||||
StatusValue.CLIENT_TRANSFER_PROHIBITED,
|
||||
StatusValue.SERVER_UPDATE_PROHIBITED))
|
||||
.setDsData(ImmutableSet.of(DelegationSignerData.create(1, 2, 3, "deadface")));
|
||||
if (registrant != null) {
|
||||
builder.setRegistrant(Key.create(registrant));
|
||||
}
|
||||
|
|
|
@ -229,28 +229,33 @@ public class DomainWhoisResponseTest {
|
|||
Key<ContactResource> adminResourceKey = Key.create(adminContact);
|
||||
Key<ContactResource> techResourceKey = Key.create(techContact);
|
||||
|
||||
domainBase = persistResource(new DomainBase.Builder()
|
||||
.setFullyQualifiedDomainName("example.tld")
|
||||
.setRepoId("3-TLD")
|
||||
.setLastEppUpdateTime(DateTime.parse("2009-05-29T20:13:00Z"))
|
||||
.setCreationTimeForTest(DateTime.parse("2000-10-08T00:45:00Z"))
|
||||
.setRegistrationExpirationTime(DateTime.parse("2010-10-08T00:44:59Z"))
|
||||
.setPersistedCurrentSponsorClientId("NewRegistrar")
|
||||
.setStatusValues(ImmutableSet.of(
|
||||
StatusValue.CLIENT_DELETE_PROHIBITED,
|
||||
StatusValue.CLIENT_RENEW_PROHIBITED,
|
||||
StatusValue.CLIENT_TRANSFER_PROHIBITED,
|
||||
StatusValue.SERVER_UPDATE_PROHIBITED))
|
||||
.setRegistrant(registrantResourceKey)
|
||||
.setContacts(ImmutableSet.of(
|
||||
DesignatedContact.create(DesignatedContact.Type.ADMIN, adminResourceKey),
|
||||
DesignatedContact.create(DesignatedContact.Type.TECH, techResourceKey)))
|
||||
.setNameservers(ImmutableSet.of(hostResource1Key, hostResource2Key))
|
||||
.setDsData(ImmutableSet.of(new DelegationSignerData()))
|
||||
.setGracePeriods(ImmutableSet.of(
|
||||
GracePeriod.create(GracePeriodStatus.ADD, END_OF_TIME, "", null),
|
||||
GracePeriod.create(GracePeriodStatus.TRANSFER, END_OF_TIME, "", null)))
|
||||
.build());
|
||||
domainBase =
|
||||
persistResource(
|
||||
new DomainBase.Builder()
|
||||
.setFullyQualifiedDomainName("example.tld")
|
||||
.setRepoId("3-TLD")
|
||||
.setLastEppUpdateTime(DateTime.parse("2009-05-29T20:13:00Z"))
|
||||
.setCreationTimeForTest(DateTime.parse("2000-10-08T00:45:00Z"))
|
||||
.setRegistrationExpirationTime(DateTime.parse("2010-10-08T00:44:59Z"))
|
||||
.setPersistedCurrentSponsorClientId("NewRegistrar")
|
||||
.setStatusValues(
|
||||
ImmutableSet.of(
|
||||
StatusValue.CLIENT_DELETE_PROHIBITED,
|
||||
StatusValue.CLIENT_RENEW_PROHIBITED,
|
||||
StatusValue.CLIENT_TRANSFER_PROHIBITED,
|
||||
StatusValue.SERVER_UPDATE_PROHIBITED))
|
||||
.setRegistrant(registrantResourceKey)
|
||||
.setContacts(
|
||||
ImmutableSet.of(
|
||||
DesignatedContact.create(DesignatedContact.Type.ADMIN, adminResourceKey),
|
||||
DesignatedContact.create(DesignatedContact.Type.TECH, techResourceKey)))
|
||||
.setNameservers(ImmutableSet.of(hostResource1Key, hostResource2Key))
|
||||
.setDsData(ImmutableSet.of(DelegationSignerData.create(1, 2, 3, "deadface")))
|
||||
.setGracePeriods(
|
||||
ImmutableSet.of(
|
||||
GracePeriod.create(GracePeriodStatus.ADD, END_OF_TIME, "", null),
|
||||
GracePeriod.create(GracePeriodStatus.TRANSFER, END_OF_TIME, "", null)))
|
||||
.build());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue