EveOnline-SSO

 view release on metacpan or  search on metacpan

lib/EveOnline/SSO/Client.pm  view on Meta::CPAN

    my $body = '';
    if ( $body_param ) {
        my $params = dclone( $body_param );

        state $json = JSON::XS->new->utf8;

        $body = $json->encode( $params );

        $request->content( $body );
    }
    $request->header( 'content-type'   => 'application/json; charset=UTF-8' );
    $request->header( 'content-length' => length( $body ) );
    $request->header( 'X-User-Agent'   => $self->x_user_agent );
    $request->header( 'Authorization'  => 'Bearer ' . $self->token );

    return 1;
}

sub parse_response {
    my ( $self, $response ) = @_;

t/02_client.t  view on Meta::CPAN

    );

is( $client->make_url(['incursions']), 'https://esi.tech.ccp.is/latest/incursions/?datasource=tranquility', 'make_url' );
is( $client->make_url(['characters', 90922771, 'contacts'], { page => 1 } ), 'https://esi.tech.ccp.is/latest/characters/90922771/contacts/?page=1&datasource=tranquility', 'make_url query param' );
is( $client->make_url('https://esi.tech.ccp.is/latest/characters/90922771/contacts/?datasource=tranquility&page=1'), 'https://esi.tech.ccp.is/latest/characters/90922771/contacts/?datasource=tranquility&page=1', 'make_url clean url' );

my $req = HTTP::Request->new( uc 'get' => $client->make_url(['incursions']) );

$client->prepare_request($req);

is( $req->header('content-type'), 'application/json; charset=UTF-8', 'prepare_request type');
is( $req->header('content-length'), 0, 'prepare_request zero length');
is( $req->header('X-User-Agent'), 'Test Client', 'prepare_request X-User-Agent' );
is( $req->header('authorization'), 'Bearer ************', 'prepare_request auth');

$client->prepare_request($req, { param1 => 'value1', param2 => 2});

my $content = JSON::XS::decode_json( '{"param2":2,"param1":"value1"}' );
is( $req->header('content-length'), 30, 'prepare_request length');
is_deeply( JSON::XS::decode_json( $req->content ) , $content , 'prepare_request body');



( run in 1.966 second using v1.01-cache-2.11-cpan-524268b4103 )