NAME
WWW::Kickstarter::HttpClient - HTTP client connector for WWW::Kickstarter
SYNOPSIS
use WWW::Kickstarter;
my $ks = WWW::Kickstarter->new(
http_client_class => 'WWW::Kickstarter::HttpClient::Lwp', # default
...
);
DESCRIPTION
This module documents the interface that must be provided by HTTP clients to be used by WWW::Kickstarter.
CONSTRUCTOR
new
my $http_client = $http_client_class->new(%opts);
The constructor. An WWW::Kickstarter::Error object is thrown on error.
Options:
agent => "application_name/version "
The string to pass to Kickstarter in the User-Agent HTTP header. If the string ends with a space, the name and version of this library will be appended, as will the name of version of the underling HTTP client.
METHODS
request
my ( $status_code, $status_line, $content_type, $content_encoding, $content ) =
$http_client->request($method, $url, $req_content);
Performs an HTTP request for the URL specified by $url
using the method specified by $method
(either GET
or POST
). For POST
requests, $req_content
will contain the content (of type application/x-www-form-urlencoded
) to send in the request.
An Accept
header with value application/json; charset=utf-8
must be provided.
The following are returned: The HTTP status code received from the server ($status
), the status line including the HTTP status code ($status_line
), the type of the content of the response ($content_type
), the character encoding of the content ($content_encoding
), and the content of the response ($content
).
If a communication failure occurs, appropriate values for $status
and $status_line
should be mocked up, such as 599
and 599 Can't connect to api.kickstarter.com
.
The value returned for $content_type
must be in lower-case letters and devoid of parameters. undef
can be returned for $content_type
, and it need not be lower-case. For example, $content_type
will be text/html
and $content_encoding
can be UTF-8
for Text/HTML; charset=UTF-8
.
VERSION, BUGS, KNOWN ISSUES, SUPPORT, AUTHORS, COPYRIGHT & LICENSE
See WWW::Kickstarter