API-Eulerian
view release on metacpan or search on metacpan
lib/API/Eulerian/EDW/Peer/Rest.pm view on Meta::CPAN
#/usr/bin/env perl
###############################################################################
#
# @file Rest.pm
#
# @brief Eulerian Data Warehouse REST Peer Module definition.
#
# This module is aimed to provide access to Eulerian Data Warehouse
# Analytics Analysis Through REST Protocol.
#
# @author Thorillon Xavier:x.thorillon@eulerian.com
#
# @date 26/11/2021
#
# @version 1.0
#
###############################################################################
#
# Setup module name
#
package API::Eulerian::EDW::Peer::Rest;
use strict;
use JSON();
use POSIX();
use Sys::Hostname();
use API::Eulerian::EDW::Peer();
use API::Eulerian::EDW::File();
use API::Eulerian::EDW::Bench();
use API::Eulerian::EDW::Status();
use API::Eulerian::EDW::Authority();
use API::Eulerian::EDW::Parser::JSON();
use API::Eulerian::EDW::Parser::CSV();
our @ISA = qw/ API::Eulerian::EDW::Peer /;
#
# Defines Parser class name matching format.
#
my %PARSERS = (
'json' => 'API::Eulerian::EDW::Parser::JSON',
'csv' => 'API::Eulerian::EDW::Parser::CSV',
);
#
# @brief Allocate and initialize a new Eulerian Data Warehouse Rest Peer.
#
# @param $class - Eulerian Data Warehouse Rest Peer class.
# @param $setup - Setup attributes.
#
# @return Eulerian Data Warehouse Peer.
#
sub new
{
my $proto = shift();
my $class = ref($proto) || $proto;
my $setup = shift() || {};
my $self = $class->SUPER::new();
# Setup Rest Peer Default attributes values
$self->{ _ACCEPT } = $setup->{accept} || 'application/json';
$self->{ _ENCODING } = 'gzip';
$self->{ _WDIR } = $setup->{wdir} || '/tmp';
$self->{ _UUID } = 0;
# Setup Rest Peer Attributes
$self->setup( $setup );
return bless($self, $class);
( run in 0.687 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )