App-Unicheck-Modules-HTTP
view release on metacpan or search on metacpan
lib/App/Unicheck/Modules/HTTP.pm view on Meta::CPAN
package App::Unicheck::Modules::HTTP;
use 5.10.1;
use strict;
use warnings FATAL => 'all';
use Moo;
use Getopt::Long qw(GetOptionsFromArray);
use Mojo::UserAgent;
use Try::Tiny;
use JSON;
use Time::HiRes;
=head1 NAME
App::Unicheck::Modules::HTTP - App::Unicheck module to check web urls.
=head1 VERSION
Version 0.03
=cut
our $VERSION = '0.03';
=head1 SYNOPSIS
App::Unicheck::Modules::HTTP can check return status, response time and size of web resources.
# to show available information on parameters run
unicheck --info HTTP
=cut
sub run {
my ($self, $action, @params) = @_;
$self->$action(@params);
}
=head1 ACTIONS
=head2 status
Get the status code of a call to an URL.
unicheck HTTP status --url example.com
=cut
sub status {
my ($self, @params) = @_;
my $url = 'http://127.0.0.1/';
my $redirects = 3;
my $format = 'num';
GetOptionsFromArray([@params],
'url=s' => \$url,
'redirects=i' => \$redirects,
'format=s' => \$format,
);
my $ua = Mojo::UserAgent->new->max_redirects($redirects);
my $tx = $ua->get($url);
my $status = $tx->res->code;
my $headers = $tx->res->content->headers->{headers};
$self->_return($status, $headers, $format);
( run in 0.888 second using v1.01-cache-2.11-cpan-39bf76dae61 )