mirror of
https://github.com/c-kr/check_json.git
synced 2024-11-23 10:53:47 +01:00
commit
8290ad203b
@ -2,6 +2,7 @@
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
use HTTP::Request::Common;
|
||||
use LWP::UserAgent;
|
||||
use JSON;
|
||||
use Nagios::Plugin;
|
||||
@ -14,6 +15,7 @@ my $np = Nagios::Plugin->new(
|
||||
. "[ -o|--outputvars <fields> ] "
|
||||
. "[ -t|--timeout <timeout> ] "
|
||||
. "[ -d|--divisor <divisor> ] "
|
||||
. "[ -m|--metadata <content> ] "
|
||||
. "[ -T|--contenttype <content-type> ] "
|
||||
. "[ --ignoressl ] "
|
||||
. "[ -h|--help ] ",
|
||||
@ -73,6 +75,12 @@ $np->add_arg(
|
||||
. "CSV list of fields output in status message, same syntax as perfvars"
|
||||
);
|
||||
|
||||
$np->add_arg(
|
||||
spec => 'metadata|m=s',
|
||||
help => "-m|--metadata \'{\"name\":\"value\"}\'\n "
|
||||
. "RESTful request metadata in JSON format"
|
||||
);
|
||||
|
||||
$np->add_arg(
|
||||
spec => 'contenttype|T=s',
|
||||
default => 'application/json',
|
||||
@ -104,7 +112,12 @@ if ($np->opts->ignoressl) {
|
||||
|
||||
if ($np->opts->verbose) { (print Dumper ($ua))};
|
||||
|
||||
my $response = ($ua->get($np->opts->url));
|
||||
my $response;
|
||||
if ($np->opts->metadata) {
|
||||
$response = $ua->request(GET $np->opts->url, 'Content-type' => 'application/json', 'Content' => $np->opts->metadata );
|
||||
} else {
|
||||
$response = $ua->request(GET $np->opts->url);
|
||||
}
|
||||
|
||||
if ($response->is_success) {
|
||||
if (!($response->header("content-type") =~ $np->opts->contenttype)) {
|
||||
|
Loading…
Reference in New Issue
Block a user