NAME
Juno::Check::HTTP - An HTTP check for Juno
VERSION
version 0.001
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;
use AnyEvent;
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.
AUTHOR
Sawyer X <xsawyerx@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.