ePages 7.25.0 - DE_EPAGES/WebService/API/JSONRestClient.pm

Package DE_EPAGES::WebService::API::JSONRestClient

Generic client for RESTful web services using JSON messages.

Functions

buildRequest
decodeResponse
delete
get
new
patch
post
put
request
send
userAgent

buildRequest

Builds a HTTP request object for a REST call.

Syntax
$Request = $Client->buildRequest($Method, $SubPath, $RequestData);
Example
my $Request = $Client->buildRequest($Method, $SubPath, $RequestData);
my $Response = $Client->send($Request);
my $Data = $Client->decodeResponse($Response);
Input
$Method (string)
HTTP method
$SubPath (string)
String to append to the BaseURL
$RequestData (ref)
request data
Return
$Request (HTTP::Request)
request object

decodeResponse

Extracts and decodes information from a HTTP response object. Throws a HttpError exception if the response contains an error. See also buildRequest.

Syntax
$ResponseData = $Client->decodeResponse($Response);
Input
$Response (HTTP::Response)
response object
Return
$ResponseData (ref)
decoded response data

delete

Executes a DELETE request.

Syntax
$Client->delete($ID);
Input
$ID (string)
resource id

get

Executes a GET request.

Syntax
$Data = $Client->get($ID);
Input
$ID (string)
resource id
Return
$Data (ref)
resource data

new

Creates a new REST client object.

Syntax
$Client = DE_EPAGES::WebService::API::JSONRestClient->new( $BaseURL, $hptions );
Input
$BaseURL (string)
base URL
$hOptions (ref.hash)
  • UserAgent - user agent object (default: LWP::UserAgent) - object
  • Codec - content-type codec (default: DE_EPAGES::WebService::API::JSONCodec) - object
  • BasicAuthentication - basic authentication parameters [ login, password ] - ref.array
Return
$Client (DE_EPAGES::WebService::API::JSONRestClient)
client object

patch

Executes a PATCH request.

Syntax
$ID = $Client->patch($Data);
Input
$Data (ref)
resource data
Return
$ID (string)
resource id

post

Executes a POST request.

Syntax
$ID = $Client->post($Data);
Input
$Data (ref)
resource data
Return
$ID (string)
resource id

put

Executes a PUT request.

Syntax
$Client->put($ID, $Data);
Input
$ID (string)
resource id
$Data (ref)
resource data
$Return (bool)
0, no return data, 1 otherwise

request

Executes a REST request.

Syntax
$ResponseData = $Client->request($Method, $SubPath, $RequestData);
Input
$Method (string)
HTTP method
$SubPath (string)
String to append to the BaseURL
$RequestData (ref)
request data
Return
$ResponseData (ref)
decoded response data

send

Sends a HTTP request and return the corresponding HTTP response object. See also buildRequest.

Syntax
$Response = $Client->send($Request);
Input
$Request (HTTP::Request)
request
Return
$Response (HTTP::Request)
response

userAgent

Returns the HTTP user agent.

Syntax
$UserAgent = $Client->userAgent;
Return
$UserAgent (LWP::UserAgent)
user agent object