OAuth::Lite::Response - response class


OAuth-Lite documentation Contained in the OAuth-Lite distribution.

Index


Code Index:

NAME

Top

OAuth::Lite::Response - response class

SYNOPSIS

Top

    my $res = $consumer->obtain_access_token(
        ...
    );

    my $token = $res->token;
    say $token->token;
    say $token->secret;

    my $other_param = $res->param('xauth_expires');

DESCRIPTION

Top

Response class

METHODS

Top

new

from_encoded

Generate response from encoded line (that service provider provides as response of request token.).

    my $line = "oauth_token=foo&oauth_token_secret=bar&xauth_expires=0";
    my $res = OAuth::Lite::Response->from_encoded($encoded);

    my $token = $res->token;
    say $token->token;
    say $token->secret;

    say $res->param('xauth_expires');

param

Get parameter.

    say $res->param('xauth_expires');

AUTHOR

Top

Lyo Kato, lyo.kato _at_ gmail.com

COPYRIGHT AND LICENSE

Top


OAuth-Lite documentation Contained in the OAuth-Lite distribution.
package OAuth::Lite::Response;

use strict;
use warnings;

use base 'Class::Accessor::Fast';

use OAuth::Lite::Util qw(decode_param);

__PACKAGE__->mk_accessors(qw/token/);

use OAuth::Lite::Token;

sub new {
    my $class = shift;
    bless {
        _params => {},
        token   => undef,
    }, $class;
}

sub from_encoded {
    my ($class, $encoded) = @_;
    $encoded =~ s/\r\n$//;
    $encoded =~ s/\n$//;
    my $res = $class->new;
    my $token = OAuth::Lite::Token->new;
    for my $pair (split /&/, $encoded) {
        my ($key, $val) = split /=/, $pair;
        if ($key eq 'oauth_token') {
            $token->token(decode_param($val));
        } elsif ($key eq 'oauth_token_secret') {
            $token->secret(decode_param($val));
        } elsif ($key eq 'oauth_callback_confirmed') {
            my $p = decode_param($val);
            if ($p && $p eq 'true') {
                $token->callback_confirmed(1);
            }
        } else {
            $res->param($key, decode_param($val));
        }
    }
    $res->token($token);
    $res;
}

sub param {
    my ($self, $key, $value) = @_;
    if (defined $value) {
        $self->{_params}{$key} = $value;
    }
    $self->{_params}{$key};
}


1;