HTTP-Tiny-SPDY

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "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" : {

META.json  view on Meta::CPAN

            "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" : {

META.yml  view on Meta::CPAN

  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'

META.yml  view on Meta::CPAN

  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,

cpanfile  view on Meta::CPAN

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 )