Net-OpenVAS
view release on metacpan or search on metacpan
lib/Net/OpenVAS/OMP/Response.pm view on Meta::CPAN
my $status_text = ( $response =~ /(status_text)="([^"]*)"/ )[1];
my $error = undef;
if ( $status >= 400 ) {
$error = Net::OpenVAS::Error->new( $status_text, $status );
}
my $self = {
status => $status + 0,
raw => $response,
request => $request,
status_text => $status_text,
error => $error,
result => eval { xml2hash $response },
};
return bless $self, $class;
}
sub result {
my ($self) = @_;
return $self->{result};
}
sub error {
my ($self) = @_;
return $self->{error};
}
sub status {
my ($self) = @_;
return $self->{status};
}
sub is_ok {
my ($self) = @_;
return ( $self->status == 200 ) ? 1 : 0;
}
sub is_created {
my ($self) = @_;
return ( $self->status == 201 ) ? 1 : 0;
}
sub is_accepted {
my ($self) = @_;
return ( $self->status == 202 ) ? 1 : 0;
}
sub is_forbidden {
my ($self) = @_;
return ( $self->status == 403 ) ? 1 : 0;
}
sub is_not_found {
my ($self) = @_;
return ( $self->status == 404 ) ? 1 : 0;
}
sub is_busy {
my ($self) = @_;
return ( $self->status == 409 ) ? 1 : 0;
}
sub is_server_error {
my ($self) = @_;
return ( $self->status >= 500 ) ? 1 : 0;
}
sub status_text {
my ($self) = @_;
return $self->{status_text};
}
sub raw {
my ($self) = @_;
return $self->{raw};
}
sub command {
my ($self) = @_;
return $self->{request}->command;
}
sub request {
my ($self) = @_;
return $self->{request};
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Net::OpenVAS::OMP::Response - Helper class for Net::OpenVAS::OMP
=head1 SYNOPSIS
use Net::OpenVAS::OMP::Response;
my $request = Net::OpenVAS::OMP::Request->new(
command => 'create_task',
arguments => { ... }
);
my $response = Net::OpenVAS::OMP::Response->new(
request => $request,
response => '<create_task_response>...</create_task_response>'
);
if ($response->is_created) {
say 'Task created:' . $response->status_text;
}
lib/Net/OpenVAS/OMP/Response.pm view on Meta::CPAN
Params:
=over 4
=item * C<request> : Request instance of L<Net::OpenVAS::OMP::Request>
=item * C<response> : RAW OMP response
=back
=head1 METHODS
=head2 $response->status
Return OMP status code.
say $response->status; # 200
=head2 $response->status_text
Return OMP status text.
say $response->status_text; # OK, request submitted
=head2 $response->command
Return OMP command name.
say $response->command; # get_version
=head2 $response->result
Return OMP command hash result.
=head2 $response->request
Return L<Net::OpenVAS::OMP::Request> instance.
=head2 $response->error
Return L<Net::OpenVAS::Error> instance.
=head2 $response->raw
Return RAW OMP response.
=head2 STATUS HELPERS
=head3 $response->is_ok (200)
=head3 $response->is_created (201)
=head3 $response->is_accepted (202)
=head3 $response->is_forbidden (403)
=head3 $response->is_not_found (404)
=head3 $response->is_busy (409)
=head3 $response->is_server_error (>500)
=head1 SUPPORT
=head2 Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker
at L<https://github.com/giterlizzi/perl-Net-OpenVAS/issues>.
You will be notified automatically of any progress on your issue.
=head2 Source Code
This is open source software. The code repository is available for
public review and contribution under the terms of the license.
L<https://github.com/giterlizzi/perl-Net-OpenVAS>
git clone https://github.com/giterlizzi/perl-Net-OpenVAS.git
=head1 AUTHOR
=over 4
=item * Giuseppe Di Terlizzi <gdt@cpan.org>
=back
=head1 LICENSE AND COPYRIGHT
This software is copyright (c) 2020 by Giuseppe Di Terlizzi.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
( run in 0.603 second using v1.01-cache-2.11-cpan-39bf76dae61 )