Net-Fastly

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

      "runtime" : {
         "recommends" : {
            "Term::ANSIColor" : "0",
            "Term::ShellUI" : "0"
         },
         "requires" : {
            "Class::Accessor::Fast" : "0",
            "File::Basename" : "0",
            "File::Spec" : "0",
            "File::Temp" : "0",
            "IO::Socket::SSL" : "!= 1.38",
            "JSON::XS" : "0",
            "LWP::Protocol::https" : "0",
            "LWP::UserAgent" : "5.813",
            "Test::More" : "0",
            "URI" : "0",
            "URI::Escape" : "0",
            "YAML" : "0"
         }
      }
   },

META.yml  view on Meta::CPAN

    - t
    - xt
recommends:
  Term::ANSIColor: '0'
  Term::ShellUI: '0'
requires:
  Class::Accessor::Fast: '0'
  File::Basename: '0'
  File::Spec: '0'
  File::Temp: '0'
  IO::Socket::SSL: '!= 1.38'
  JSON::XS: '0'
  LWP::Protocol::https: '0'
  LWP::UserAgent: '5.813'
  Test::More: '0'
  URI: '0'
  URI::Escape: '0'
  YAML: '0'
resources:
  bugtracker: https://github.com/fastly/fastly-perl/issues
  homepage: https://github.com/fastly/fastly-perl

cpanfile  view on Meta::CPAN

requires 'Class::Accessor::Fast';
requires 'File::Basename';
requires 'File::Spec';
requires 'File::Temp';
requires 'IO::Socket::SSL', '!= 1.38';
requires 'JSON::XS';
requires 'LWP::Protocol::https';
requires 'LWP::UserAgent', '5.813';
requires 'Test::More';
requires 'URI';
requires 'URI::Escape';
requires 'YAML';
recommends 'Term::ANSIColor';
recommends 'Term::ShellUI';

lib/Net/Fastly/Client.pm  view on Meta::CPAN

    $self->{user} ||= $self->{username};
    $self->{_ua}    = Net::Fastly::Client::UserAgent->new($base, $port, $opts{proxy});
    return $self unless $self->fully_authed;

    # If we're fully authed (i.e username and password ) then we need to log in
    my $res = $self->_ua->_post('/login', {}, user => $self->{user}, password => $self->{password});

    carp "DEPRECATION WARNING: Username/password authentication is deprecated and will not be available starting September 2020; please migrate to API tokens as soon as possible.";

    unless ($res->is_success) {
        die "You must have IO::Socket::SSL or Crypt::SSLeay installed in order to do SSL requests\n" if $res->code == 501 && $res->status_line =~ /Protocol scheme 'https' is not supported/;
        die "Unauthorized" unless $res->is_success;
    }
    my $content = decode_json($res->decoded_content);
    $self->{_cookie} = $res->header('set-cookie');
    return wantarray ? ($self, $content->{user}, $content->{customer}) : $self;
}

sub _ua   { shift->{_ua}   }

=head2 authed



( run in 0.534 second using v1.01-cache-2.11-cpan-4d50c553e7e )