Test-Reporter-Transport-Legacy
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Test/Reporter/Transport/HTTPGateway.pm view on Meta::CPAN
use strict;
BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
package Test::Reporter::Transport::HTTPGateway;
our $VERSION = '1.59'; # VERSION
use Test::Reporter::Transport 1.58;
our @ISA = qw/Test::Reporter::Transport/;
use LWP::UserAgent;
sub new {
my ($class, $url, $key) = @_;
die "invalid gateway URL: must be absolute http or https URL"
unless $url =~ /\Ahttps?:/i;
bless { gateway => $url, key => $key } => $class;
}
sub send {
my ($self, $report) = @_;
# construct the "via"
my $report_class = ref $report;
my $report_version = $report->VERSION;
my $via = "$report_class $report_version";
$via .= ', via ' . $report->via if $report->via;
my $perl_version = $report->perl_version->{_version};
# post the report
my $ua = LWP::UserAgent->new;
$ua->timeout(60);
$ua->env_proxy;
my $form = {
key => $self->{key},
via => $via,
perl_version => $perl_version,
from => $report->from,
subject => $report->subject,
report => $report->report,
};
my $res = $ua->post($self->{gateway}, $form);
return 1 if $res->is_success;
die sprintf "HTTP error: %s: %s", $res->status_line, $res->content;
}
1;
# ABSTRACT: HTTP transport for Test::Reporter
=pod
=head1 NAME
Test::Reporter::Transport::HTTPGateway - HTTP transport for Test::Reporter
=head1 VERSION
version 1.59
=head1 SYNOPSIS
my $report = Test::Reporter->new(
transport => 'HTTPGateway',
transport_args => [ $url, $key ],
);
=head1 DESCRIPTION
This module transmits a Test::Reporter report via HTTP to a
L<Test::Reporter::HTTPGateway> server (or something with an equivalent API).
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.826 second using v1.00-cache-2.02-grep-82fe00e-cpan-9e6bc14194b )