# 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);