Gerrit-REST
view release on metacpan or search on metacpan
HTML messages are converted into text before being presented.
0.003 2013-05-25 11:04:42 America/Sao_Paulo
[Cleanup]
- Placate Perl::Critic warnings.
0.002 2013-05-21 13:34:50 America/Sao_Paulo
[New features]
- Grok authentication credentials from .netrc if the password is not
specified in the constructor.
[Changes]
- Configure dzil properly so that it can infer module requirements
and recommendations.
0.001 2013-05-20 16:17:22 America/Sao_Paulo
lib/Gerrit/REST.pm view on Meta::CPAN
use Data::Util qw/:check/;
use REST::Client;
sub new {
my ($class, $URL, $username, $password, $rest_client_config) = @_;
$URL = URI->new($URL) if is_string($URL);
is_instance($URL, 'URI')
or croak __PACKAGE__ . "::new: URL argument must be a string or a URI object.\n";
# If no password is set we try to lookup the credentials in the .netrc file
if (! defined $password) {
eval {require Net::Netrc}
or croak "Can't require Net::Netrc module. Please, specify the USERNAME and PASSWORD.\n";
if (my $machine = Net::Netrc->lookup($URL->host, $username)) { # $username may be undef
$username = $machine->login;
$password = $machine->password;
} else {
croak "No credentials found in the .netrc file.\n";
}
}
is_string($username)
or croak __PACKAGE__ . "::new: USERNAME argument must be a string.\n";
is_string($password)
or croak __PACKAGE__ . "::new: PASSWORD argument must be a string.\n";
$rest_client_config = {} unless defined $rest_client_config;
lib/Gerrit/REST.pm view on Meta::CPAN
# Follow redirects/authentication by default
$rest->setFollow(1);
# Request compact JSON by default
$rest->addHeader('Accept' => 'application/json');
# Configure UserAgent name and password authentication
for my $ua ($rest->getUseragent) {
$ua->agent(__PACKAGE__);
$ua->credentials($URL->host_port, 'Gerrit Code Review', $username, $password);
}
return bless {
rest => $rest,
json => JSON->new->utf8->allow_nonref,
} => $class;
}
sub _error {
my ($self, $content, $type, $code) = @_;
lib/Gerrit/REST.pm view on Meta::CPAN
=item * URL
A string or a URI object denoting the base URL of the Gerrit
server. This is a required argument.
=item * USERNAME
The username of a Gerrit user.
It can be undefined if PASSWORD is also undefined. In such a case the
user credentials are looked up in the C<.netrc> file.
=item * PASSWORD
The HTTP password of the user. (This is the password the user uses to
log in to Gerrit's web interface.)
It can be undefined, in which case the user credentials are looked up
in the C<.netrc> file.
=item * REST_CLIENT_CONFIG
A Gerrit::REST object uses a REST::Client object to make the REST
invocations. This optional argument must be a hash-ref that can be fed
to the REST::Client constructor. Note that the C<URL> argument
overwrites any value associated with the C<host> key in this hash.
=back
( run in 0.446 second using v1.01-cache-2.11-cpan-4d50c553e7e )