NAME
API::Name - Name.com API Client
VERSION
version 0.04
SYNOPSIS
use API::Name;
my $name = API::Name->new(
user => 'USER',
token => 'TOKEN',
identifier => 'APPLICATION NAME',
);
$name->debug(1);
$name->fatal(1);
my $domain = $name->domains(get => 'example.com');
my $results = $domain->fetch;
# after some introspection
$domain->update( ... );
DESCRIPTION
This distribution provides an object-oriented thin-client library for interacting with the Name (https://www.name.com) API. For usage and documentation information visit https://www.name.com/reseller/API-documentation. API::Name is derived from API::Client and inherits all of it's functionality. Please read the documentation for API::Client for more usage information.
ATTRIBUTES
token
$name->token;
$name->token('TOKEN');
The token attribute should be set to the API token assigned to the account holder.
user
$name->user;
$name->user('USER');
The user attribute should be set to the API user assgined to the account holder.
identifier
$name->identifier;
$name->identifier('IDENTIFIER');
The identifier attribute should be set to a string that identifies your application.
debug
$name->debug;
$name->debug(1);
The debug attribute if true prints HTTP requests and responses to standard out.
fatal
$name->fatal;
$name->fatal(1);
The fatal attribute if true promotes 4xx and 5xx server response codes to exceptions, a API::Name::Exception object.
retries
$name->retries;
$name->retries(10);
The retries attribute determines how many times an HTTP request should be retried if a 4xx or 5xx response is received. This attribute defaults to 0.
timeout
$name->timeout;
$name->timeout(5);
The timeout attribute determines how long an HTTP connection should be kept alive. This attribute defaults to 10.
url
$name->url;
$name->url(Mojo::URL->new('https://www.name.com'));
The url attribute set the base/pre-configured URL object that will be used in all HTTP requests. This attribute expects a Mojo::URL object.
user_agent
$name->user_agent;
$name->user_agent(Mojo::UserAgent->new);
The user_agent attribute set the pre-configured UserAgent object that will be used in all HTTP requests. This attribute expects a Mojo::UserAgent object.
METHODS
action
my $result = $name->action($verb, %args);
# e.g.
$name->action('head', %args); # HEAD request
$name->action('options', %args); # OPTIONS request
$name->action('patch', %args); # PATCH request
The action method issues a request to the API resource represented by the object. The first parameter will be used as the HTTP request method. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either data
or query
.
create
my $results = $name->create(%args);
# or
$name->POST(%args);
The create method issues a POST
request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either data
or query
.
delete
my $results = $name->delete(%args);
# or
$name->DELETE(%args);
The delete method issues a DELETE
request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either data
or query
.
fetch
my $results = $name->fetch(%args);
# or
$name->GET(%args);
The fetch method issues a GET
request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either data
or query
.
update
my $results = $name->update(%args);
# or
$name->PUT(%args);
The update method issues a PUT
request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either data
or query
.
RESOURCES
account
$name->account;
The account method returns a new instance representative of the API account resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://www.name.com/reseller/API-documentation.
dns
$name->dns;
The dns method returns a new instance representative of the API dns resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://www.name.com/reseller/API-documentation.
domain
$name->domain;
The domain method returns a new instance representative of the API domain resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://www.name.com/reseller/API-documentation.
host
$name->host;
The host method returns a new instance representative of the API host resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://www.name.com/reseller/API-documentation.
login
$name->login;
The login method returns a new instance representative of the API login resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://www.name.com/reseller/API-documentation.
logout
$name->logout;
The logout method returns a new instance representative of the API logout resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://www.name.com/reseller/API-documentation.
order
$name->order;
The order method returns a new instance representative of the API order resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. https://www.name.com/reseller/API-documentation.
AUTHOR
Al Newkirk <anewkirk@ana.io>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Al Newkirk.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.