NAME
WWW::GoodData::Agent - HTTP client for GoodData JSON-based API
SYNOPSIS
use WWW::GoodData::Agent;
my $ua = new WWW::GoodData::Agent;
my $metadata = $ua->get ('/md');
DESCRIPTION
WWW::GoodData::Agent is HTTP user agent that makes it easy for follow specifics of the GoodData service API, transparently handles conversion to and from JSON content type and recognizes and handles various kinds of exceptions and error states.
It is a subclass of LWP::UserAgent and follows its semantics unless documented otherwise.
PROPERTIES
- root
-
URI object pointing to root of the service API.
This is used to resolve relative request paths.
METHODS
- new ROOT, PARAMS
-
Creates a new agent instance. First argument is root of the service API, the rest is passed to LWP::UserAgent as is.
Compared to stock LWP::UserAgent, it has a memory-backed cookie storage and sets the Accept header to prefer JSON content.
- post URI, BODY, PARAMS
-
Constructs and issues a POST request.
Compared to stock LWP::UserAgent, the extra body parameter is encoded into JSON and set as request content, which is the only way to set the request content.
The rest of parameters are passed to LWP::UserAgent untouched.
- put URI, BODY, PARAMS
-
Constructs and issues a PUT request.
Compared to stock LWP::UserAgent, the extra body parameter is encoded into JSON and set as request content, which is the only way to set the request content.
The rest of parameters are passed to LWP::UserAgent untouched.
- delete URI
-
Convenience method for constructing and issuing a DELETE request.
- request PARAMS
-
This call is common for all request types.
While API is same as stock LWP::UserAgent, relative URIs are permitted and extra content processing is done with the response.
Namely, errors are either handled or turned into exceptions and known content types (JSON) are decoded.
SEE ALSO
https://secure.gooddata.com/gdc/ -- Browsable GoodData API
LWP::UserAgent -- Perl HTTP client
COPYRIGHT
Copyright 2011, 2012, 2013 Lubomir Rintel
Copyright 2012 Jan Orel
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Lubomir Rintel lkundrak@v3.sk