API-CLI
view release on metacpan or search on metacpan
lib/API/CLI/Request.pm view on Meta::CPAN
$self->url($url);
my $req = HTTP::Request->new( $self->method => $self->url );
$self->req($req);
return $self;
}
sub request {
my ($self) = @_;
my $ua = LWP::UserAgent->new;
my $req = $self->req;
my $res = $ua->request($req);
my $code = $res->code;
my $content = $res->decoded_content;
my $status = $res->status_line;
my $ct = $res->content_type;
my $out = $self->verbose ? "Response: $status ($ct)\n" : undef;
my $data;
my $ok = 0;
if ($res->is_success) {
$ok = 1;
if ($ct eq 'application/json') {
my $coder = JSON::XS->new->ascii->pretty->allow_nonref;
$data = $coder->decode($content);
$content = $coder->encode($data);
}
}
return ($ok, $out, $content);
}
sub content {
shift->req->content(@_);
}
sub header {
shift->req->header(@_);
}
1;
__END__
=pod
=head1 NAME
API::CLI::Request = Does the actual request to the API
=head1 METHODS
=over 4
=item content
$req->content($data);
Sets POST/PUT/PATCH content
=item from_openapi
=item header
=item method
=item openapi
=item path
=item req
=item request
=item url
=item verbose
=back
=cut
( run in 1.299 second using v1.01-cache-2.11-cpan-39bf76dae61 )