AnyEvent-FTP
view release on metacpan or search on metacpan
lib/AnyEvent/FTP/Response.pm view on Meta::CPAN
package AnyEvent::FTP::Response;
use strict;
use warnings;
use 5.010;
use overload
'""' => sub { shift->as_string },
fallback => 1,
bool => sub { 1 }, fallback => 1;
# ABSTRACT: Response class for asynchronous ftp client
our $VERSION = '0.20'; # VERSION
sub new
{
my($class, $code, $message) = @_;
$message = [ $message ] unless ref($message) eq 'ARRAY';
bless { code => $code, message => $message }, $class;
}
sub code { shift->{code} }
sub message { shift->{message} }
sub is_success { shift->{code} !~ /^[45]/ }
sub is_preliminary { shift->{code} =~ /^1/ }
sub as_string
{
my($self) = @_;
sprintf "[%d] %s%s", $self->{code}, $self->{message}->[0], @{ $self->{message} } > 1 ? '...' : '';
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
AnyEvent::FTP::Response - Response class for asynchronous ftp client
=head1 VERSION
version 0.20
=head1 DESCRIPTION
Instances of this class represent a FTP server response.
=head1 ATTRIBUTES
=head2 code
my $code = $client->code;
Integer code for the message. These can be categorized thus:
=over 4
=item 1xx
Positive preliminary reply
=item 2xx
Positive completion reply
=item 3xx
Positive intermediate reply
=item 4xx
Transient negative reply
=item 5xx
Permanent negative reply
=back
Generally C<4xx> and C<5xx> messages are errors, where as C<1xx>, C<3xx> are various states of
(at least so far) successful operations. C<2xx> indicates a completely successful
operation.
=head2 message
my $message = $res->message;
The human readable message returned from the server. This is always a list reference,
even if the server only returned one line.
=head1 METHODS
=head2 is_success
my $bool = $res->is_success;
True if the response does not represent an error condition (codes C<1xx>, C<2xx> or C<3xx>).
( run in 0.637 second using v1.01-cache-2.11-cpan-39bf76dae61 )