GRNOC-WebService-Client
view release on metacpan or search on metacpan
lib/GRNOC/WebService/Client.pm view on Meta::CPAN
if ($result->is_success && !defined($result->header('x-died'))){
my $content = $result->content;
#--- We're at cosign
if ($content =~ /<form action=\".*cosign-bin\/cosign\.cgi/mi){
return $self->_do_cosign_login($request, $content, $result);
}
#--- We're at Shib ECP
elsif (defined($result->header('content-type')) && $result->header('content-type') eq CONTENT_PAOS) {
return $self->_do_ecp_login($request, $content);
}
#--- We're not at cosign or doing ECP login, this must be the final result.
else {
if ($self->{"timing"}) {
$self->_do_timing("Success");
}
$self->{'content_type'} = $result->header('content-type');
$self->{'headers'} = $self->_parse_headers($result);
return $content;
}
}
#--- Failure
else {
if ($self->{"timing"}) {
$self->_do_timing("Failed");
}
lib/GRNOC/WebService/Client.pm view on Meta::CPAN
my $content2 = $result2->content;
#--- Are we back at Cosign? If so, we're unauthorized.
if ($content2 =~ /<form action=\".*cosign-bin\/cosign\.cgi\"/mi){
$self->_set_error( "Error: Authorization failed for: " . $request->uri());
return undef;
}
#--- Otherwise we're good, return content
$self->{'content_type'} = $result2->header('content-type');
$self->{'headers'} = $self->_parse_headers($result2);
return $content2;
}
else {
#--- Something went wrong in getting the final url after cosign auth succeeded
my $error = $result2->header('x-died') || $result2->message;
$self->_set_error("HTTP Error after logging into Cosign: $error");
return undef;
}
lib/GRNOC/WebService/Client.pm view on Meta::CPAN
return undef;
}
if ($self->{timing}) {
$self->_do_timing("Returned to SP");
}
#--- Got another 200 back
if ($spres->is_success && !defined($spres->header('x-died'))){
my $spcontent = $spres->content;
$self->{'content_type'} = $spres->header('content-type');
$self->{'headers'} = $self->_parse_headers($spres);
return $spcontent;
}
else {
if ($self->{"timing"}) {
$self->_do_timing("Failed");
}
my $error = $spres->header('x-died') || $spres->message;
$self->_set_error("HTTP Error: $error : " . $request->uri());
( run in 1.177 second using v1.01-cache-2.11-cpan-524268b4103 )