Armadito-Agent
view release on metacpan or search on metacpan
lib/Armadito/Agent/HTTP/Client.pm view on Meta::CPAN
}
$result = $self->{ua}->request( $request, $file );
alarm 0;
};
if ( !$result->is_success() ) {
# authentication required
if ( $result->code() == 401 ) {
if ( $self->{user} && $self->{password} ) {
$logger->debug( $log_prefix . "authentication required, submitting credentials" );
my $header = $result->header('www-authenticate');
my ($realm) = $header =~ /^Basic realm="(.*)"/;
my $host = $url->host();
my $port = $url->port()
|| ( $scheme eq 'https' ? 443 : 80 );
$self->{ua}->credentials( "$host:$port", $realm, $self->{user}, $self->{password} );
# replay request
eval {
if ( $OSNAME eq 'MSWin32' && $scheme eq 'https' ) {
alarm $self->{ua}->{timeout};
}
$result = $self->{ua}->request( $request, $file );
alarm 0;
};
if ( !$result->is_success() ) {
$logger->error( $log_prefix . "authentication required, wrong credentials" );
}
}
else {
# abort
$logger->error( $log_prefix . "authentication required, no credentials available" );
}
}
else {
$logger->error( $log_prefix . "communication error: " . $result->status_line() );
}
}
return $result;
}
( run in 0.705 second using v1.01-cache-2.11-cpan-4d50c553e7e )