PEF-Front
view release on metacpan or search on metacpan
0.18 Tue, 09 May 2017 11:30:00 GMT
- add answer_http_response and answer_data
0.17 Tue, 09 May 2017 11:30:00 GMT
- add http status set to result and ajax
0.16 Mon, 06 Mar 2017 11:30:00 GMT
- fix chained model call
0.15 Fri, 17 Feb 2017 09:00:00 GMT
- fix request reading in coro+ae case
- new config parameter cfg_url_only_camel_case
0.14 Wed, 25 Jan 2017 18:00:00 GMT
- fixed content-type of static files for .js and .css
0.13 Wed, 05 Oct 2016 22:29:25 GMT
- implement PEF::Front::Model::chain_links()
0.12 Sat, 01 Oct 2016 16:29:25 GMT
- model method call optimization
lib/PEF/Front/Oauth.pm view on Meta::CPAN
use strict;
use warnings;
use URI;
use LWP::UserAgent;
use HTTP::Request::Common;
use JSON;
use PEF::Front::Config;
use PEF::Front::Session;
my $coro_ae_lwp;
BEGIN {
if ($INC{'Coro/AnyEvent.pm'}) {
eval "use AnyEvent::HTTP::LWP::UserAgent";
$coro_ae_lwp = ($@) ? 0 : 1;
} else {
$coro_ae_lwp = 0;
}
}
sub _authorization_server {
die 'unimplemented base method';
}
sub _token_request {
die 'unimplemented base method';
}
lib/PEF/Front/Oauth.pm view on Meta::CPAN
$uri->as_string;
}
sub exchange_code_to_token {
my ($self, $request) = @_;
if ($request->{code}) {
my $token_answer;
delete $self->{session}->data->{oauth_state};
$self->{session}->store;
my $exception;
if ($coro_ae_lwp && $Coro::main != $Coro::current) {
my $lwp_user_agent = AnyEvent::HTTP::LWP::UserAgent->new;
$lwp_user_agent->timeout(cfg_oauth_connect_timeout());
my $request = $self->_token_request($request->{code});
my $response = $lwp_user_agent->request($request);
$exception = "timeout" if !$response or !$response->decoded_content;
} else {
eval {
local $SIG{ALRM} = sub {die "timeout"};
alarm cfg_oauth_connect_timeout();
my $lwp_user_agent = LWP::UserAgent->new;
lib/PEF/Front/Oauth.pm view on Meta::CPAN
};
}
}
sub get_user_info {
my ($self) = @_;
my $info;
$self->{session}->store;
my $exception;
if ($coro_ae_lwp && $Coro::main != $Coro::current) {
my $lwp_user_agent = AnyEvent::HTTP::LWP::UserAgent->new;
$lwp_user_agent->timeout(cfg_oauth_connect_timeout());
my $response = $lwp_user_agent->request($self->_get_user_info_request);
if ($response && $response->decoded_content) {
$info = eval {decode_json $response->decoded_content};
$exception = $@;
} else {
$exception = "timeout";
}
} else {
lib/PEF/Front/Request.pm view on Meta::CPAN
use JSON;
use Carp ();
use utf8;
use Encode;
use PEF::Front::Headers;
use PEF::Front::File;
use PEF::Front::Config;
use XML::Simple;
use URI;
my $coro_ae = $INC{'Coro/AnyEvent.pm'} ? 1 : 0;
sub new {
my ($class, $env) = @_;
Carp::croak(q{$env is required})
unless defined $env && ref($env) eq 'HASH';
my $self = bless {env => $env}, $class;
$self->_parse;
$self;
}
sub env {$_[0]->{env}}
( run in 0.499 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )