result_as_norid_whois_string

Format result as old style Norid whois output.

Uses internal helper formatting functions.

rdap_ns_obj_as_norid_whois_string

Return whois formatted string.

rdap_notice_as_norid_whois_string

Return whois formatted string.

rdap_entity_obj_as_norid_whois_string

Return whois formatted string.

$search indicates if a search is done, in which case the entity is a set of at least one.

The header if built differently dependent of $nameservers and $search.

$lookup_reg_ent triggers lookup of registrar entity, if missing.

rdap_domain_obj_as_norid_whois_string

Return whois formatted string.

$search indicates if a search is done, in which case the domain obj is a
set of at least one. 

$expand indicates if extra lookup for registrar info should be made,
since registrar info may not be included.

The header if built differently dependent of $nameservers and $search.

rdap_events_as_norid_whois_string

Format events as norid whois string.

rdap_vcard_as_norid_whois_string

Format vcard object(s) as whois string.

Ref. https://tools.ietf.org/html/rfc6350#section-6.3.1 to see order of things.

rdap_page_info_as_norid_whois_string

Format and insert page info, if requested.

norid_whois_parse

Convert a whois formatted result string to a whois object the same way as NOLookup::Whois::WhoisLookup does.

Returns ($wh, $do, $ho), all NOLookup::Whois::WhoisLookup objects.

rdap_get_domain_object_as_whois

Scan domain object and do the rdap2whois on it.

$result must point to a domain result.

rdap_get_entity_objects_as_whois

Scan registrant, registrar and tech entity objects and do the rdap2whois on them.

rdap_get_nameserver_objects_as_whois

Scan NS objects and do the rdap2whois on them.

NAME

NOLookup::RDAP::RDAPLookup::Whois

Offer a number of utility whois methods to simulate an rdap2whois world, building output and objects as the old whois formatted service.

SYNOPSIS

    use Encode;
    use NOLookup::RDAP::RDAPLookup::Whois;
 
    # Default API service URL
    my $SERVICE_URL = "https://rdap.norid.no";

    # Example 1: Domain name lookup
    # Decode the query when needed, like for IDNs
    # or names with national characters.

    my $q = 'norid.no';
    #$q = decode('ISO8859-1', 'øl.no');

    my $bo = NOLookup::RDAP::RDAPLookup->new(
     {
	service_url         => 'https://rdap.norid.no',
	debug               => 0,
	use_cache  	    => 0,
	norid_header_secret => 'secret1234',
	norid_header_proxy  => 1,
     });

    # test HEAD operation for existence
    $bo->lookup($q, 1, 0, 0);
    if ($bo->error) {
       print "HEAD: Error, error / status: ",
          $bo->error . "/" . $bo->status) . "\n";
    }

    # test GET operations
    $bo->lookup($q, 0, 0, 0);
    if ($bo->error) {
       print "GET: Error, error / status: ",
          $bo->error . "/" . $bo->status) . "\n";
    }
	
    # result of lookup is in $bo->result
    # This result contains response objects built by Net::RDAP

    my $res = $bo->result;
    print "handle: ", $bo->handle, "\n";

 * See bin/no_rdap.pl for more information on usage.

 * See various formatting/helper functions in this file for how to
   access the various objects returned by Net::RDAP.

DESCRIPTION

This module provides an object oriented API for use with the Norid RDAP service. It uses the Net::RDAP module from Cpan internally to fetch information from the Norid RDAP.

SUPPORT

For now, support questions should be sent to:

<(nospam)info(at)norid.no>

SEE ALSO

https://www.norid.no/en https://teknisk.norid.no/en/integrere-mot-norid/rdap-tjenesten https://teknisk.norid.no/en/integrere-mot-norid/whois

CAVEATS

AUTHOR

Trond Haugen, <(nospam)info(at)norid.no>

COPYRIGHT

Copyright (c) 2020- Trond Haugen <(nospam)info(at)norid.no>. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

LICENSE

This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.

1;