The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 09
MANIFEST 12
META.json 044
META.yml 2122
Makefile.PL 05
lib/Net/HTTPS/Any.pm 518
t/get-cryptssleay.t 03
t/post-cryptssleay.t 15
t/post-netssleay.t 12
9 files changed (This is a version diff) 29110
@@ -1,5 +1,14 @@
 Revision history for Net-HTTPS-Any
 
+0.11    Sat Jul 26 17:30:43 PDT 2014
+        - doc: update example in synopsis
+        - Depend on Net::SSLeay and test on it (and not Crypt::SSLeay), to
+          eliminate spurious test failures and increase installability.  Alas,
+          but the last four years have not provided OR relationships in CPAN
+          dependencies (closes: CPAN#73363)
+        - doc: spelling (closes: CPAN#88510)
+        - test: fix 404 test
+
 0.10    Sat May  1 13:39:39 PDT 2010
         - Pull in changes from Business::OnlinePayment::HTTPS 0.09 from
           Business::OnlinePayment 3.00
@@ -10,4 +10,5 @@ t/pod-coverage.t
 t/pod.t
 t/post-cryptssleay.t
 t/post-netssleay.t
-META.yml                                 Module meta-data (added by MakeMaker)
+META.yml                                 Module YAML meta-data (added by MakeMaker)
+META.json                                Module JSON meta-data (added by MakeMaker)
@@ -0,0 +1,44 @@
+{
+   "abstract" : "Simple HTTPS client using whichever underlying SSL module is available",
+   "author" : [
+      "Ivan Kohler <ivan-net-https-any@freeside.biz>"
+   ],
+   "dynamic_config" : 1,
+   "generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.120921",
+   "license" : [
+      "unknown"
+   ],
+   "meta-spec" : {
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+      "version" : "2"
+   },
+   "name" : "Net-HTTPS-Any",
+   "no_index" : {
+      "directory" : [
+         "t",
+         "inc"
+      ]
+   },
+   "prereqs" : {
+      "build" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+         }
+      },
+      "configure" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+         }
+      },
+      "runtime" : {
+         "requires" : {
+            "Net::SSLeay" : "0",
+            "Test::More" : "0",
+            "Tie::IxHash" : "0",
+            "URI::Escape" : "0"
+         }
+      }
+   },
+   "release_status" : "stable",
+   "version" : "0.11"
+}
@@ -1,24 +1,25 @@
---- #YAML:1.0
-name:               Net-HTTPS-Any
-version:            0.10
-abstract:           Simple HTTPS class using whichever underlying SSL module is available
+---
+abstract: 'Simple HTTPS client using whichever underlying SSL module is available'
 author:
-    - Ivan Kohler <ivan-net-https-any@freeside.biz>
-license:            unknown
-distribution_type:  module
-configure_requires:
-    ExtUtils::MakeMaker:  0
+  - 'Ivan Kohler <ivan-net-https-any@freeside.biz>'
 build_requires:
-    ExtUtils::MakeMaker:  0
-requires:
-    Test::More:   0
-    Tie::IxHash:  0
-    URI::Escape:  0
-no_index:
-    directory:
-        - t
-        - inc
-generated_by:       ExtUtils::MakeMaker version 6.55_02
+  ExtUtils::MakeMaker: 0
+configure_requires:
+  ExtUtils::MakeMaker: 0
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.120921'
+license: unknown
 meta-spec:
-    url:      http://module-build.sourceforge.net/META-spec-v1.4.html
-    version:  1.4
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
+name: Net-HTTPS-Any
+no_index:
+  directory:
+    - t
+    - inc
+requires:
+  Net::SSLeay: 0
+  Test::More: 0
+  Tie::IxHash: 0
+  URI::Escape: 0
+version: 0.11
@@ -17,6 +17,11 @@ WriteMakefile(
         # 'Net::SSLeay' => 0,
         # or 'Crypt::SSLeay' => 0,
         #    'LWP' => 0,
+
+        #failing tests is worse, Net::SSLeay appears to finally have emerged
+        # as best-practice with the release of LWP::Protocol::https that uses
+        # IO::Socket::SSL and therefore Net::SSLeay
+        'Net::SSLeay' => 0,
     },
     dist                => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
     clean               => { FILES => 'Net-HTTPS-Any-*' },
@@ -43,11 +43,11 @@ BEGIN {
 
 =head1 NAME
 
-Net::HTTPS::Any - Simple HTTPS class using whichever underlying SSL module is available
+Net::HTTPS::Any - Simple HTTPS client using whichever underlying SSL module is available
 
 =cut
 
-our $VERSION = '0.10';
+our $VERSION = '0.11';
 
 =head1 SYNOPSIS
 
@@ -58,6 +58,8 @@ our $VERSION = '0.10';
                    { 'host' => 'www.fortify.net',
                      'port' => 443,
                      'path' => '/sslcheck.html',
+                     'args' => { 'field' => 'value' },
+                     #'args' => [ 'field'=>'value' ], #order preserved
                    },
                  );
 
@@ -91,6 +93,17 @@ especially if you aim to support multiple OSes/disributions, using this module
 for speaking HTTPS may make things easier on your users.  It allows your code
 to be used with either SSL implementation.
 
+=head1 FUTURE
+
+Using LWP::Protocol::https 6.02 or later, the LWP path actually uses
+Net::SSLeay also instead of Crypt::SSLeay.  Going forward that makes this
+module more of historical interest, especially so since modern LWP has its own
+mechanism to force use of Crypt::SSLeay:
+  $Net::HTTPS::SSL_SOCKET_CLASS = "Net::SSL";
+
+Therefore this module will likely eventually become a wrapper around a single
+codepath, driven by the conservative needs of Business::OnlinePayment::HTTPS.
+
 =head1 FUNCTIONS
 
 =head2 https_get HASHREF | FIELD => VALUE, ...
@@ -119,7 +132,7 @@ For example: { 'X-Header1' => 'value', ... }
 
 =item args
 
-CGI arguments, eitehr as a hashref or a listref.  In the latter case, ordering
+CGI arguments, either as a hashref or a listref.  In the latter case, ordering
 is preserved (see L<Tie::IxHash> to do so when passing a hashref).
 
 =item debug
@@ -238,7 +251,7 @@ Defaults to "application/x-www-form-urlencoded" if not specified.
 
 =item args
 
-CGI arguments, eitehr as a hashref or a listref.  In the latter case, ordering
+CGI arguments, either as a hashref or a listref.  In the latter case, ordering
 is preserved (see L<Tie::IxHash> to do so when passing a hashref).
 
 =item content
@@ -388,7 +401,7 @@ L<http://search.cpan.org/dist/Net-HTTPS-Any>
 
 =head1 COPYRIGHT & LICENSE
 
-Copyright 2008-2010 Freeside Internet Services, Inc. (http://freeside.biz/)
+Copyright 2008-2014 Freeside Internet Services, Inc. (http://freeside.biz/)
 All rights reserved.
 
 This program is free software; you can redistribute it and/or modify it
@@ -5,6 +5,9 @@ use warnings;
 use Test::More;
 
 BEGIN {
+
+  plan skip_all => "LWP tests disabled to avoid excessive dependencies";
+
   plan( tests=>4 );
   $Net::HTTPS::Any::skip_NetSSLeay=1;
   $Net::HTTPS::Any::skip_NetSSLeay=1;
@@ -5,6 +5,9 @@ use warnings;
 use Test::More;
 
 BEGIN {
+
+  plan skip_all => "LWP tests disabled to avoid excessive dependencies";
+
   plan( tests=>4 );
   $Net::HTTPS::Any::skip_NetSSLeay=1;
   $Net::HTTPS::Any::skip_NetSSLeay=1;
@@ -30,9 +33,10 @@ ok( length($content), 'Received content' );
 #404
 
 my($content2, $response2, %headers2) = https_post(
-  { 'host' => 'www.fortify.net',
+  { 'host' => 'www.google.com',
     'port' => 443,
     'path' => '/notfound.html',
+    'args' => { 'length' => 'required' },
   },
   'net_https_any_test' => 1,
 );
@@ -27,9 +27,10 @@ ok( length($content), 'Received content' );
 #404
 
 my($content2, $response2, %headers2) = https_post(
-  { 'host' => 'www.fortify.net',
+  { 'host' => 'www.google.com',
     'port' => 443,
     'path' => '/notfound.html',
+    'args' => { 'length' => 'required' },
   },
   'net_https_any_test' => 1,
 );