DracPerl-Client

 view release on metacpan or  search on metacpan

lib/DracPerl/Client.pm  view on Meta::CPAN

    return 1;
}

sub closeSession {
    my ($self) = @_;

    my $logout_page = $self->ua->post( $self->url . "/data/logout" );

    $self->token(0);
    $self->ua->default_header( "ST2", $self->token );
    $self->log->debug( "Logging out : " . $logout_page->decoded_content );
    return 1;
}

sub saveSession {
    my ($self) = @_;

    return 0 unless $self->token;

    $self->log->info("Saving the session");
    return {

lib/DracPerl/Client.pm  view on Meta::CPAN


sub isAlive {
    my ($self) = @_;
    use Data::Dumper;
    my $response = $self->ua->get( $self->url . "TreeList.xml" );

    return 0 unless $response->is_success;

  # We don't really care about parsing the XML here, we just want to make sure
  # it is returning *something*
    return 0 unless $response->decoded_content =~ m/<TreeNodes>/;

    return 1;

}

sub _login {
    my $self = shift;

    my $login_form = $self->ua->get( $self->url . "/login.html" );

lib/DracPerl/Client.pm  view on Meta::CPAN


        $response_raw = $self->ua->post(
            $self->url . "/data/login",
            {   user     => $self->user,
                password => $self->password
            }
        );

        if ( $response_raw->is_success ) {
            $auth_model = DracPerl::Models::Auth->new(
                xml => $response_raw->decoded_content );
            $logged = !$auth_model->auth_result;
        }

        $need_to_retry = 0 if $logged;
        $need_to_retry = 0 if $current_tries > $self->max_retries - 1;

        if ($logged) {
            $self->log->info( "Sucessfully performed login step 1 ( Attempt "
                    . $current_tries . "/"
                    . $self->max_retries

lib/DracPerl/Client.pm  view on Meta::CPAN

                    . ")" );
        }

        $current_tries++;
    }

    die( "Logging failed after " . $self->max_retries . " attempts" )
        unless $logged;

    $self->log->debug(
        "Login Step 1 response : " . $response_raw->decoded_content );

    my @tokens_parts = reverse split( "=", $auth_model->forward_url );

    $self->log->info( "Success while opening session / " . $tokens_parts[0] );

    $self->token( $tokens_parts[0] ) if $tokens_parts[0];
    $self->ua->default_header( "ST2", $self->token );
    return 1;
}

lib/DracPerl/Client.pm  view on Meta::CPAN


    my $response = $self->ua->post( $self->url . "/data?get=" . $query );

    if ( $response->is_success ) {
        $self->log->info("Sucessfully fetched $query");
    }
    else {
        $self->log->error("Error while fetching $query");
    }

    my $raw_response = $response->decoded_content;

    return $self->_parse_response( $commands, $collections, $raw_response );
}

sub _parse_response {
    my ( $self, $commands, $collections, $xml ) = @_;

    #TODO : Snake-case the commands before putting them in the hash
    my $result;



( run in 0.744 second using v1.01-cache-2.11-cpan-26ccb49234f )