| OAuth-Lite documentation | Contained in the OAuth-Lite distribution. |
OAuth::Lite::Agent - default agent class
$agent = OAuth::Lite::Agent->new;
my $res = $agent->request($req);
Default user agent for OAuth::Lite::Consuemr.
constructor.
OAuth::Lite::Agent->new();
You can pass custom agent, that is required to implement 'request' and 'agent' methods corresponding to the same named methods of LWP::UserAgnet.
OAuth::Lite::Agent->new( ua => $custom_agent );
agent setter
$agent->agent("MyAgent/1.0.0");
As same as LWP::UserAgent, pass HTTP::Request object and returns HTTP::Response object.
$res = $agent->request($req);
filter the HTTP::Request object before request.
filter the HTTP::Response object after request.
http://oauth.pbwiki.com/ProblemReporting
Lyo Kato, lyo.kato _at_ gmail.com
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.
| OAuth-Lite documentation | Contained in the OAuth-Lite distribution. |
package OAuth::Lite::Agent; use strict; use warnings; use LWP::UserAgent; use List::MoreUtils; sub new { my ($class, $ua) = @_; my $self = bless { ua => $ua || LWP::UserAgent->new, }, $class; return $self; } sub agent { my ($self, $agent) = @_; $self->{ua}->agent($agent); } sub request { my ($self, $req) = @_; $req = $self->filter_request($req); my $res = $self->{ua}->request($req); return $self->filter_response($res); } sub filter_request { my ($self, $req) = @_; my $accept_encoding = $req->header('Accept-Encoding') || ''; my @encodings = split(/\s*,\s*/, $accept_encoding); if (@encodings == 0 || List::MoreUtils::none { $_ eq 'gzip' } @encodings) { push(@encodings, 'gzip'); } $req->header('Accept-Encoding' => join(', ', @encodings)); return $req; } sub filter_response { my ($self, $res) = @_; return $res; } 1;