API-Basecamp
view release on metacpan or search on metacpan
README.mkdn view on Meta::CPAN
The fatal attribute if true promotes 4xx and 5xx server response codes to
exceptions, a [API::Client::Exception](https://metacpan.org/pod/API::Client::Exception) object.
## retries
$basecamp->retries;
$basecamp->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
$basecamp->timeout;
$basecamp->timeout(5);
The timeout attribute determines how long an HTTP connection should be kept
alive. This attribute defaults to 10.
## url
$basecamp->url;
$basecamp->url(Mojo::URL->new('https://basecamp.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](https://metacpan.org/pod/Mojo::URL) object.
## user\_agent
lib/API/Basecamp.pm view on Meta::CPAN
has username => (
is => 'rw',
isa => Str,
required => 1,
);
# DEFAULTS
has '+identifier' => (
default => 'API::Basecamp (Perl)',
required => 0,
);
has '+url' => (
default => $DEFAULT_URL,
required => 0,
);
has '+version' => (
default => 1,
required => 0,
);
# CONSTRUCTION
after BUILD => method {
my $username = $self->username;
my $password = $self->password;
my $account = $self->account;
lib/API/Basecamp.pm view on Meta::CPAN
};
# METHODS
method PREPARE ($ua, $tx, %args) {
my $headers = $tx->req->headers;
my $url = $tx->req->url;
# default headers
$headers->header('Content-Type' => 'application/json');
# append path suffix
$url->path("@{[$url->path]}.json") if $url->path !~ /\.json$/;
}
method resource (@segments) {
# build new resource instance
lib/API/Basecamp.pm view on Meta::CPAN
The fatal attribute if true promotes 4xx and 5xx server response codes to
exceptions, a L<API::Client::Exception> object.
=head2 retries
$basecamp->retries;
$basecamp->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.
=head2 timeout
$basecamp->timeout;
$basecamp->timeout(5);
The timeout attribute determines how long an HTTP connection should be kept
alive. This attribute defaults to 10.
=head2 url
$basecamp->url;
$basecamp->url(Mojo::URL->new('https://basecamp.com'));
The url attribute set the base/pre-configured URL object that will be used in
all HTTP requests. This attribute expects a L<Mojo::URL> object.
=head2 user_agent
( run in 0.405 second using v1.01-cache-2.11-cpan-0a6323c29d9 )