The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

REST::Consumer

A general-purpose client for interacting with RESTful HTTP services

Synopsis

This module provides an interface that encapsulates building an http request, sending, and parsing responses. It also retries on failed requests and has configurable timeouts.

Usage

First configure the REST::Consumer class. This only needs to be done once per process and the results will be cached in a file. You can then refer to the service by name.

REST::Consumer->configure('http://somewhere.com/consumer/config');

And / or:

REST::Consumer->configure({
    'google-calendar' => {
        url => 'https://apps-apis.google.com',
    },
    'google-accounts' => {
        url => 'https://accounts.google.com',
    },
});

Then later:

my $media = REST::Consumer->service('google-calendar')->get(
    path => '/users/me/calendarList',
    timeout => 5,
    retry => 5,
);

use Data::Dumper;
print Dumper($media);