Authen-NZRealMe
view release on metacpan or search on metacpan
lib/Authen/NZRealMe/ServiceProvider.pm view on Meta::CPAN
use WWW::Curl::Easy qw(
CURLOPT_URL
CURLOPT_POST
CURLOPT_HTTPHEADER
CURLOPT_POSTFIELDS
CURLOPT_SSLCERT
CURLOPT_SSLKEY
CURLOPT_SSL_VERIFYPEER
CURLOPT_WRITEDATA
CURLOPT_WRITEHEADER
CURLOPT_CAPATH
);
use constant DATETIME_BEFORE => -1;
use constant DATETIME_EQUAL => 0;
use constant DATETIME_AFTER => 1;
my %metadata_cache;
my $signing_cert_filename = 'sp-sign-crt.pem';
lib/Authen/NZRealMe/ServiceProvider.pm view on Meta::CPAN
}
else {
$curl->setopt(CURLOPT_SSL_VERIFYPEER, 1);
$curl->setopt(CURLOPT_CAPATH, $self->ca_cert_pathname);
}
my($resp_body, $resp_head);
open (my $body_fh, ">", \$resp_body);
$curl->setopt(CURLOPT_WRITEDATA, $body_fh);
open (my $head_fh, ">", \$resp_head);
$curl->setopt(CURLOPT_WRITEHEADER, $head_fh);
my $resp;
my $retcode = $curl->perform;
if($retcode == 0) {
$resp_head =~ s/\A(?:HTTP\/1\.1\s+200\s+Connection\s+established).*?\r?\n\r?\n//is; # Remove any '200' response from a proxy
$resp_head =~ s/\A(?:HTTP\/1\.1 100 Continue)?[\r\n]*//; # Remove any '100' responses and/or leading newlines
my($status, @head_lines) = split(/\r?\n/, $resp_head);
my($protocol, $code, $message) = split /\s+/, $status, 3;
my $headers = [ map { split /:\s+/, $_, 2 } @head_lines];
$resp = HTTP::Response->new($code, $message, $headers, $resp_body);
( run in 0.228 second using v1.01-cache-2.11-cpan-9b1e4054eb1 )