HTTP-Tiny-SPDY
view release on metacpan or search on metacpan
"Test::CPAN::Meta" : "0",
"Test::Pod" : "1.41",
"Test::Pod::Coverage" : "1.08"
}
},
"runtime" : {
"requires" : {
"HTTP::Tiny" : "0",
"HTTP::Tiny::Handle" : "0",
"IO::Socket" : "0",
"IO::Socket::SSL" : "1.56",
"Net::SPDY::Session" : "0",
"Net::SSLeay" : "1.49",
"parent" : "0",
"perl" : "5.006",
"strict" : "0",
"warnings" : "0"
}
},
"test" : {
"recommends" : {
"Exporter" : "0",
"ExtUtils::MakeMaker" : "0",
"File::Basename" : "0",
"File::Spec" : "0",
"File::Spec::Functions" : "0",
"File::Temp" : "0",
"IO::Dir" : "0",
"IO::File" : "0",
"IO::Handle" : "0",
"IO::Socket::INET" : "0",
"IO::Socket::SSL" : "1.56",
"IPC::Cmd" : "0",
"IPC::Open3" : "0",
"List::Util" : "0",
"Mozilla::CA" : "0",
"Test::More" : "0.96",
"open" : "0"
}
}
},
"provides" : {
Exporter: 0
ExtUtils::MakeMaker: 0
File::Basename: 0
File::Spec: 0
File::Spec::Functions: 0
File::Temp: 0
IO::Dir: 0
IO::File: 0
IO::Handle: 0
IO::Socket::INET: 0
IO::Socket::SSL: 1.56
IPC::Cmd: 0
IPC::Open3: 0
List::Util: 0
Mozilla::CA: 0
Test::More: 0.96
open: 0
configure_requires:
ExtUtils::MakeMaker: 6.17
dynamic_config: 0
generated_by: 'Dist::Zilla version 5.005, CPAN::Meta::Converter version 2.120921'
package:
- DB
provides:
HTTP::Tiny::SPDY:
file: lib/HTTP/Tiny/SPDY.pm
version: 0.020
requires:
HTTP::Tiny: 0
HTTP::Tiny::Handle: 0
IO::Socket: 0
IO::Socket::SSL: 1.56
Net::SPDY::Session: 0
Net::SSLeay: 1.49
parent: 0
perl: 5.006
strict: 0
warnings: 0
resources:
bugtracker: https://github.com/odyniec/p5-HTTP-Tiny-SPDY/issues
homepage: https://github.com/odyniec/p5-HTTP-Tiny-SPDY
repository: https://github.com/odyniec/p5-HTTP-Tiny-SPDY.git
Makefile.PL view on Meta::CPAN
"ExtUtils::MakeMaker" => "6.17"
},
"DISTNAME" => "HTTP-Tiny-SPDY",
"EXE_FILES" => [],
"LICENSE" => "perl",
"NAME" => "HTTP::Tiny::SPDY",
"PREREQ_PM" => {
"HTTP::Tiny" => 0,
"HTTP::Tiny::Handle" => 0,
"IO::Socket" => 0,
"IO::Socket::SSL" => "1.56",
"Net::SPDY::Session" => 0,
"Net::SSLeay" => "1.49",
"parent" => 0,
"strict" => 0,
"warnings" => 0
},
"TEST_REQUIRES" => {
"Data::Dumper" => 0,
"Exporter" => 0,
"ExtUtils::MakeMaker" => 0,
"File::Basename" => 0,
"File::Spec" => 0,
"File::Spec::Functions" => 0,
"File::Temp" => 0,
"IO::Dir" => 0,
"IO::File" => 0,
"IO::Handle" => 0,
"IO::Socket::INET" => 0,
"IO::Socket::SSL" => "1.56",
"IPC::Cmd" => 0,
"IPC::Open3" => 0,
"List::Util" => 0,
"Mozilla::CA" => 0,
"Test::More" => "0.96",
"open" => 0
},
"VERSION" => "0.020",
"test" => {
"TESTS" => "t/*.t t/http_tiny/*.t"
Makefile.PL view on Meta::CPAN
"File::Spec" => 0,
"File::Spec::Functions" => 0,
"File::Temp" => 0,
"HTTP::Tiny" => 0,
"HTTP::Tiny::Handle" => 0,
"IO::Dir" => 0,
"IO::File" => 0,
"IO::Handle" => 0,
"IO::Socket" => 0,
"IO::Socket::INET" => 0,
"IO::Socket::SSL" => "1.56",
"IPC::Cmd" => 0,
"IPC::Open3" => 0,
"List::Util" => 0,
"Mozilla::CA" => 0,
"Net::SPDY::Session" => 0,
"Net::SSLeay" => "1.49",
"Test::More" => "0.96",
"open" => 0,
"parent" => 0,
"strict" => 0,
requires "HTTP::Tiny" => "0";
requires "HTTP::Tiny::Handle" => "0";
requires "IO::Socket" => "0";
requires "IO::Socket::SSL" => "1.56";
requires "Net::SPDY::Session" => "0";
requires "Net::SSLeay" => "1.49";
requires "parent" => "0";
requires "perl" => "5.006";
requires "strict" => "0";
requires "warnings" => "0";
on 'test' => sub {
requires "Data::Dumper" => "0";
requires "Exporter" => "0";
requires "ExtUtils::MakeMaker" => "0";
requires "File::Basename" => "0";
requires "File::Spec" => "0";
requires "File::Spec::Functions" => "0";
requires "File::Temp" => "0";
requires "IO::Dir" => "0";
requires "IO::File" => "0";
requires "IO::Handle" => "0";
requires "IO::Socket::INET" => "0";
requires "IO::Socket::SSL" => "1.56";
requires "IPC::Cmd" => "0";
requires "IPC::Open3" => "0";
requires "List::Util" => "0";
requires "Mozilla::CA" => "0";
requires "Test::More" => "0.96";
requires "open" => "0";
};
on 'test' => sub {
recommends "CPAN::Meta" => "0";
lib/HTTP/Tiny/SPDY.pm view on Meta::CPAN
use IO::Socket qw(SOCK_STREAM);
use parent -norequire, 'HTTP::Tiny::Handle';
sub connect {
@_ == 4 || die(q/Usage: $handle->connect(scheme, host, port)/ . "\n");
my ($self, $scheme, $host, $port) = @_;
if ( $scheme eq 'https' ) {
# Need IO::Socket::SSL 1.42 for SSL_create_ctx_callback
die(qq/IO::Socket::SSL 1.42 must be installed for https support\n/)
unless eval {require IO::Socket::SSL; IO::Socket::SSL->VERSION(1.42)};
# Need Net::SSLeay 1.49 for MODE_AUTO_RETRY
die(qq/Net::SSLeay 1.49 must be installed for https support\n/)
unless eval {require Net::SSLeay; Net::SSLeay->VERSION(1.49)};
}
elsif ( $scheme ne 'http' ) {
die(qq/Unsupported URL scheme '$scheme'\n/);
}
$self->{fh} = 'IO::Socket::INET'->new(
PeerHost => $host,
PeerPort => $port,
t/00-report-prereqs.t view on Meta::CPAN
File::Spec
File::Spec::Functions
File::Temp
HTTP::Tiny
HTTP::Tiny::Handle
IO::Dir
IO::File
IO::Handle
IO::Socket
IO::Socket::INET
IO::Socket::SSL
IPC::Cmd
IPC::Open3
List::Util
Mozilla::CA
Net::SPDY::Session
Net::SSLeay
Test::More
open
parent
perl
t/http_tiny/210_live_ssl.t view on Meta::CPAN
#!perl
use strict;
use warnings;
use Test::More 0.88;
use IO::Socket::INET;
BEGIN {
eval { require IO::Socket::SSL; IO::Socket::SSL->VERSION(1.56); 1 };
plan skip_all => 'IO::Socket::SSL 1.56 required for SSL tests' if $@;
# $IO::Socket::SSL::DEBUG = 3;
eval { require Net::SSLeay; Net::SSLeay->VERSION(1.49); 1};
plan skip_all => 'Net::SSLeay 1.49 required for SSL tests' if $@;
eval { require Mozilla::CA; 1 };
plan skip_all => 'Mozilla::CA required for SSL tests' if $@;
}
use HTTP::Tiny::SPDY;
plan skip_all => 'Only run for $ENV{AUTOMATED_TESTING}'
t/http_tiny/210_live_ssl.t view on Meta::CPAN
Proto => 'tcp',
Timeout => 10,
);
# the default verification
my $response = HTTP::Tiny::SPDY->new(verify_ssl => 1)->get($url);
is $response->{success}, $data->{default_should_yield}, "Request to $url passed/failed using default as expected"
or do {
# $response->{content} = substr $response->{content}, 0, 50;
$response->{content} =~ s{\n.*}{}s;
diag explain [IO::Socket::SSL::errstr(), $response]
};
# force validation to succeed
my $pass = HTTP::Tiny::SPDY->new( SSL_options => $data->{pass} )->get($url);
isnt $pass->{status}, '599', "Request to $url completed (forced pass)"
or do {
$pass->{content} =~ s{\n.*}{}s;
diag explain $pass
};
ok $pass->{content}, 'Got some content';
# force validation to fail
my $fail = HTTP::Tiny::SPDY->new( SSL_options => $data->{fail} )->get($url);
is $fail->{status}, '599', "Request to $url failed (forced fail)"
or do {
$fail->{content} =~ s{\n.*}{}s;
diag explain [IO::Socket::SSL::errstr(), $fail]
};
ok $fail->{content}, 'Got some content';
};
}
( run in 0.519 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )