App-Aliyun

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

      },
      "develop" : {
         "requires" : {
            "Dist::Milla" : "v1.0.17",
            "Test::Pod" : "1.41"
         }
      },
      "runtime" : {
         "requires" : {
            "Data::UUID" : "0",
            "DateTime" : "0",
            "Digest::SHA" : "0",
            "Mojolicious" : "0",
            "URI::Escape" : "0",
            "perl" : "5.008005"
         }
      },
      "test" : {
         "requires" : {
            "Test::More" : "0.96"
         }

META.yml  view on Meta::CPAN

no_index:
  directory:
    - eg
    - examples
    - inc
    - share
    - t
    - xt
requires:
  Data::UUID: '0'
  DateTime: '0'
  Digest::SHA: '0'
  Mojolicious: '0'
  URI::Escape: '0'
  perl: '5.008005'
resources:
  bugtracker: https://github.com/fayland/perl-App-Aliyun/issues
  homepage: https://github.com/fayland/perl-App-Aliyun
  repository: https://github.com/fayland/perl-App-Aliyun.git
version: '0.02'
x_serialization_backend: 'YAML::Tiny version 1.70'

cpanfile  view on Meta::CPAN

requires 'perl', '5.008005';
requires 'Mojolicious';
requires 'DateTime';
requires 'URI::Escape';
requires 'Digest::SHA';
requires 'Data::UUID';

on test => sub {
    requires 'Test::More', '0.96';
};

lib/MojoX/Aliyun.pm  view on Meta::CPAN

package MojoX::Aliyun;

use strict;
use warnings;
use v5.10;
use Carp qw/croak/;
use Mojo::Base -base;
use Mojo::UserAgent;

use DateTime;
use Digest::SHA qw(hmac_sha1_base64);
use URI::Escape;
use Data::UUID;

our $VERSION = '0.02';

has 'ua' => sub {
    my $ua = Mojo::UserAgent->new;
    $ua->transactor->name("MojoX-Aliyun $VERSION");
    return $ua;

lib/MojoX/Aliyun.pm  view on Meta::CPAN


    my $uri = Mojo::URL->new($url);
    my $path = $uri->path;

    my $Version = '2014-05-26';
    $Version = '2014-08-15' if $url =~ 'rds\.';

    my $ug   = Data::UUID->new;
    my $uuid = $ug->to_string($ug->create());
    my %auth_params = (
        Timestamp => sprintf("%s", DateTime->now()),
        Format    => 'JSON',
        Version   => $Version,
        SignatureMethod  => 'HMAC-SHA1',
        SignatureVersion => '1.0',
        SignatureNonce   => $uuid,
        AccessKeyId => $self->access_key,
        $self->region_id ? (RegionId => $self->region_id) : (),
        $params ? %$params : (),
    );



( run in 0.284 second using v1.01-cache-2.11-cpan-05444aca049 )