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 )