Nagios-Plugin-OverHTTP
view release on metacpan or search on metacpan
lib/Nagios/Plugin/OverHTTP/Formatter/Nagios/Version3.pm view on Meta::CPAN
package Nagios::Plugin::OverHTTP::Formatter::Nagios::Version3;
use 5.008001;
use strict;
use warnings 'all';
###########################################################################
# METADATA
our $AUTHORITY = 'cpan:DOUGDUDE';
our $VERSION = '0.16';
###########################################################################
# MOOSE
use Moose 0.74;
use MooseX::StrictConstructor 0.08;
###########################################################################
# ROLES
with 'Nagios::Plugin::OverHTTP::Formatter';
###########################################################################
# ALL IMPORTS BEFORE THIS WILL BE ERASED
use namespace::clean 0.04 -except => [qw(meta)];
###########################################################################
# METHODS
sub exit_code {
my ($self) = @_;
# Just return the default
return $self->standard_status_exit_code($self->response->status);
}
sub stderr {
# N/A
return q{};
}
sub stdout {
my ($self) = @_;
if (!$self->response->has_performance_data) {
# If there is no performance data, the output is the message
return $self->response->message;
}
# Cut into lines
my @message_lines = split m{\n}msx, $self->response->message;
my @performance_data_lines = split m{\n}msx, $self->response->performance_data;
# Build stdout with first two lines
my $stdout = join q{ | },
shift(@message_lines),
shift @performance_data_lines;
# Rest of stdout is the rest of the message
$stdout .= join qq{\n}, q{}, @message_lines;
if (@performance_data_lines) {
# Then any remaining performance data lines
$stdout .= join qq{\n},
q{ | } . shift(@performance_data_lines),
@performance_data_lines;
}
return $stdout;
}
###########################################################################
# MAKE MOOSE OBJECT IMMUTABLE
__PACKAGE__->meta->make_immutable;
1;
__END__
=head1 NAME
Nagios::Plugin::OverHTTP::Formatter::Nagios::Version3 - Format output for
Nagios version 3
=head1 VERSION
This documentation refers to L<Nagios::Plugin::OverHTTP::Formatter::Nagios::Version3>
version 0.16
=head1 SYNOPSIS
#TODO: Write this
=head1 DESCRIPTION
This formatter for L<Nagios::Plugin::OverHTTP> will format the plugin output
that corresponds to the plugin API in Nagios 3.
=head1 CONSTRUCTOR
This is fully object-oriented, and as such before any method can be used, the
constructor needs to be called to create an object to work with.
=head2 new
This will construct a new plugin object.
=over
=item B<< new(%attributes) >>
C<< %attributes >> is a HASH where the keys are attributes (specified in the
( run in 0.970 second using v1.01-cache-2.11-cpan-71847e10f99 )