The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

NAME

Juno::Check::HTTP - An HTTP check for Juno

VERSION

version 0.010

DESCRIPTION

my $juno = Juno->new(
checks => {
HTTP => {
hosts => [ 'tom', 'jerry' ],
path => '/my/custom/path',
},
}
);

ATTRIBUTES

path

The path that is checked.

Default: /.

headers

A hashref or additional headers to send to the server. This is useful if you want to run a request to a server requesting a specific website (i.e., VirtualHost).

hosts

An arrayref of hosts to check, overriding the default given to Juno.pm.

my $juno = Juno->new(
hosts => [ 'Tom', 'Jerry' ],
checks => {
HTTP => {
hosts => [ 'Micky', 'Mini' ], # this overrides tom and jerry
},
},
);

Now the HTTP check will not check Tom and Jerry, but rather Micky and Mini.

This attribute derives from Juno::Role::Check.

interval

An integer of seconds between each check (nor per-host).

This attribute derives from Juno::Role::Check.

on_success

A coderef to run when making a successful request. This is done by checking the HTTP response header has a status code starting with 200 (which is by HTTP RFC a successful response).

This attribute derives from Juno::Role::Check.

on_fail

A coderef to run when making an unsuccessful request. This is the opposite of on_success described above.

This attribute derives from Juno::Role::Check.

on_result

A coderef to run when getting a response - any response. This is what you use in case you want more control over what's going on.

This attribute derives from Juno::Role::Check.

on_before

A coderef to run before making a request. A useful example of this is timing the request.

use Juno;
my $cv = AnyEvent->condvar;
my %time = (
tom => AnyEvent->now,
);
my $juno = Juno->new(
checks => {
HTTP => {
on_before => sub {
my $host = $_[1];
$time{$host} = AnyEvent->now;
},
on_result => sub {
my $host = $_[1];
my $time = AnyEvent->now - $time{'tom'};
print "It took $time to run the request to $host\n";
},
},
},
);

watcher

Holds the watcher for the HTTP check timer.

This attribute derives from Juno::Role::Check.

METHODS

check

Juno will call this method for you. You should not call it yourself.

run

Juno will call this method for you. You should not call it yourself.

AUTHORS

  • Sawyer X <xsawyerx@cpan.org>

  • Adam Balali <adamba@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Sawyer X.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.