AsposeSlidesCloud-SlidesApi
view release on metacpan or search on metacpan
lib/AsposeSlidesCloud/ApiClient.pm view on Meta::CPAN
sub deserialize
{
my ($self, $class, $data) = @_;
if (not defined $data) {
return undef;
} elsif ( (substr($class, 0, 5)) eq 'HASH[') { #hash
if ($class =~ /^HASH\[(.*),(.*)\]$/) {
my ($key_type, $type) = ($1, $2);
my %hash;
my $decoded_data = decode_json $data;
foreach my $key (keys %$decoded_data) {
if (ref $decoded_data->{$key} eq 'HASH') {
$hash{$key} = $self->deserialize($type, encode_json $decoded_data->{$key});
} else {
$hash{$key} = $self->deserialize($type, $decoded_data->{$key});
}
}
return \%hash;
} else {
#TODO log error
}
} elsif ( (substr($class, 0, 6)) eq 'ARRAY[' ) { # array of data
return $data if $data eq '[]'; # return if empty array
lib/AsposeSlidesCloud/ApiClient.pm view on Meta::CPAN
sub update_params_for_auth {
my ($self, $header_params) = @_;
if ((defined $self->{config}{app_sid} && $self->{config}{app_sid} ne "") && (!defined $self->{config}{access_token} || $self->{config}{access_token} eq "")) {
my $_url = $self->{config}{auth_base_url} . "/connect/token";
my $_request = POST($_url, {}, Content => 'grant_type=client_credentials&client_id='.$self->{config}{app_sid}.'&client_secret='.$self->{config}{app_key});
my $_response = $self->{ua}->request($_request);
unless ($_response->is_success) {
my $content = sprintf("%s", $_response->content);
croak(sprintf "API Exception(%s): %s\n%s", 401, $_response->message, $content);
}
my $decoded_data = decode_json $_response->content;
$self->{config}{access_token} = $decoded_data->{access_token};
}
if (defined $self->{config}{access_token} && $self->{config}{access_token} ne "") {
$header_params->{'Authorization'} = 'Bearer ' . $self->{config}{access_token};
}
}
1;
lib/AsposeSlidesCloud/ClassRegistry.pm view on Meta::CPAN
}
}
return "";
}
sub is_instance_of {
my ($self, $name, $data) = @_;
if (!exists $determiners{$name} || !keys %{$determiners{$name}}) {
return 0;
}
my $data_decoded = $data;
if (ref $data ne "HASH") {
$data_decoded = decode_json($data);
}
for(keys %{$determiners{$name}}) {
if (!$self->value_exists($_, ${$determiners{$name}}{$_}, $data_decoded)) {
return 0;
}
}
return 1;
}
sub value_exists {
my ($self, $key, $value, $data) = @_;
if (%$data{$key} && %$data{$key} eq $value) {
return 1;
( run in 0.317 second using v1.01-cache-2.11-cpan-26ccb49234f )