API-Eulerian
view release on metacpan or search on metacpan
lib/API/Eulerian/EDW/Authority.pm view on Meta::CPAN
#/usr/bin/env perl
###############################################################################
#
# @file Authority.pm
#
# @brief API::Eulerian::EDW Authority module used to get API::Eulerian::EDW Data Warehouse
# Access/Session Tokens.
#
# @author Thorillon Xavier:x.thorillon@eulerian.com
#
# @date 25/11/2021
#
# @version 1.0
#
###############################################################################
#
# Setup perl package name
#
package API::Eulerian::EDW::Authority;
#
# Enforce compilor rules
#
use strict; use warnings;
#
# Import API::Eulerian::EDW::Request ( HTTP requests )
#
use API::Eulerian::EDW::Request;
#
# Import API::Eulerian::EDW::Status
#
use API::Eulerian::EDW::Status;
#
# URL domain matching platform names
#
my %DOMAINS = (
'fr' => 'api.eulerian.com',
'ca' => 'api.eulerian.ca',
);
#
# URL Application matching Token Kind.
#
my %KINDS = (
'session' => '/er/account/get_dw_session_token.json?ip=',
'access' => '/er/account/get_dw_access_token.json?ip=',
);
#
# @brief Get valid HTTP Authorization bearer used to access API::Eulerian::EDW
# Data Warehouse Platform.
#
# @param $class - API::Eulerian::EDW Authority class.
# @param $kind - API::Eulerian::EDW Authority token kind.
# @param $platform - API::Eulerian::EDW Authority Platform.
# @param $grid - API::Eulerian::EDW Data Warehouse Grid.
# @param $ip - Peer IP.
# @param $token - API::Eulerian::EDW Token.
#
# @return API::Eulerian::EDW::Status
#
sub bearer
{
my ( $class, $kind, $platform, $grid, $ip, $token ) = @_;
my $response;
my $status;
my $code;
my $json;
# Get URL used to request API::Eulerian::EDW Authority for Token.
$status = $class->_url( $kind, $platform, $grid, $ip, $token );
( run in 1.178 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )