view release on metacpan or search on metacpan
examples/helloworld/app/lib/App/Test.pm view on Meta::CPAN
package App::Test;
use Dwarf::Pragma;
use parent 'Exporter';
use Data::Dumper;
use JSON;
use HTTP::Cookies;
use HTTP::Request::Common qw/GET HEAD PUT POST DELETE/;
use Plack::Test;
use Test::More;
use WWW::Mechanize;
use App;
our @EXPORT = qw/is_success is_failure/;
sub import {
my ($pkg) = @_;
Dwarf::Pragma->import();
examples/helloworld/app/lib/App/Test.pm view on Meta::CPAN
my ($req, $res);
test_psgi app => $self->app, client => sub {
my ($cb) = @_;
my @a = ($uri->as_string);
push @a, @args if $method !~ /^(get|delete)$/i;
$method = uc $method;
# HTTP::Request::Common ã PATCH ããµãã¼ããã¦ãªãã®ã§ã¯ã¼ã¯ã¢ã©ã¦ã³ã
if ($method eq 'PATCH') {
$method = 'POST';
$method = \&$method;
$req = $method->(@a);
$req->method('PATCH');
} else {
$method = \&$method;
$req = $method->(@a);
}
examples/helloworld/app/lib/Dwarf/HTTP/Async.pm view on Meta::CPAN
package Dwarf::HTTP::Async;
use Dwarf::Pragma;
use AnyEvent;
use AnyEvent::HTTP ();
use HTTP::Request::Common ();
use HTTP::Request;
use HTTP::Response;
sub new { bless {}, $_[0] }
sub get { _request(GET => @_) }
sub post { _request(POST => @_) }
sub put { _request(PUT => @_) }
sub delete { _request(DELETE => @_) }
sub _request {
my $cb = pop;
my $method = shift;
my $self = shift;
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}(@_);
$self->request($req, $cb);
}
sub request {
my($self, $request, $cb) = @_;
my %options = (
headers => $request->headers,
body => $request->content,
);
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Amazon.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Amazon;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Data::Dumper;
use Dwarf::Accessor qw/
ua urls
key secret
access_token
user_id name profile_image
on_error
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Amazon.pm view on Meta::CPAN
$uri->query_form(%{ $params });
%data = (
Content_Type => 'multipart/form-data',
Content => [ source => $source ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
$req->header(Authorization => "Bearer " . $self->access_token);
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Facebook.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Facebook;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
access_token access_token_secret
user_id name profile_image
on_error
/;
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Facebook.pm view on Meta::CPAN
$uri->query_form(%{ $params });
%data = (
Content_Type => 'multipart/form-data',
Content => [ source => $source ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
my $res = $self->ua->request($req);
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Line.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Line;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Data::Dumper;
use Dwarf::Accessor qw/
ua urls
key secret
access_token
user_id name profile_image
on_error
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Line.pm view on Meta::CPAN
$uri->query_form(%{ $params });
%data = (
Content_Type => 'multipart/form-data',
Content => [ source => $source ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
$req->header(Authorization => "Bearer " . $self->access_token);
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Mixi.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Mixi;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use Dwarf::Util qw/encode_utf8 decode_utf8 shuffle_array/;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
access_token refresh_token expires_in got_access_token_at
user_id name profile_image friends
on_error
/;
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Mixi.pm view on Meta::CPAN
@p = ($uri, $params, 'Authorization' => 'OAuth ' . $self->access_token);
if (defined $content) {
push @p, (
'Content-Type' => 'application/json',
'Content' => $content
);
}
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}(@p);
return $req;
}
sub call {
my ($self, $command, $method, $params, $content) = @_;
$self->authorized;
$self->renew_access_token;
my $req = $self->_make_request($command, $method, $params);
my $res = $self->ua->request($req);
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Rakuten.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Rakuten;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use MIME::Base64 qw/decode_base64 encode_base64url/;
use Dwarf::Util qw/safe_decode_json encode_utf8/;
use Digest::SHA qw/hmac_sha256_base64/;
use URI::Escape;
use Dwarf::Accessor qw/
ua urls
key secret
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Twitter.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Twitter;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use Data::Dumper;
use DateTime;
use DateTime::Format::HTTP;
use Digest::SHA qw//;
use Encode qw/encode_utf8/;
use HTTP::Request::Common;
use HTTP::Response;
use JSON;
use LWP::UserAgent;
use Net::OAuth;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
request_token request_token_secret
access_token access_token_secret
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Weibo.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Weibo;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
access_token access_token_secret expires_in
user_id screen_name name profile_image
on_error
/;
examples/helloworld/app/lib/Dwarf/Module/SocialMedia/Weibo.pm view on Meta::CPAN
$method = 'POST';
%data = (
Content_Type => 'multipart/form-data',
Content => [ %{ $params} ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
my $res = $self->ua->request($req);
examples/helloworld/app/lib/Dwarf/Test.pm view on Meta::CPAN
package Dwarf::Test;
use Dwarf::Pragma;
use parent 'Exporter';
use HTTP::Request::Common ();
use Plack::Test;
use Test::More;
use UNIVERSAL::require;
our @EXPORT = qw/GET POST is_success get_ok post_ok post_redirect get_not_ok post_not_ok/;
sub GET { HTTP::Request::Common::GET(@_) }
sub POST { HTTP::Request::Common::POST(@_) }
sub is_success {
my ($res, $path) = @_;
my $desc = $res->status_line;
$desc .= ', redirected to ' . ($res->header("Location") || "") if ($res->is_redirect);
if (!$res->is_redirect) {
ok $res->is_success, "$path: $desc";
} else {
ok $res->is_redirect, "$path: $desc";
}
examples/test-validate-json-body/app/lib/App/Test.pm view on Meta::CPAN
package App::Test;
use Dwarf::Pragma;
use parent 'Exporter';
use Data::Dumper;
use JSON;
use HTTP::Cookies;
use HTTP::Request::Common qw/GET HEAD PUT POST DELETE/;
use Plack::Test;
use Test::More;
use WWW::Mechanize;
use App;
our @EXPORT = qw/is_success is_failure/;
sub import {
my ($pkg) = @_;
Dwarf::Pragma->import();
examples/test-validate-json-body/app/lib/App/Test.pm view on Meta::CPAN
my ($req, $res);
test_psgi app => $self->app, client => sub {
my ($cb) = @_;
my @a = ($uri->as_string);
push @a, @args if $method !~ /^(get|delete)$/i;
$method = uc $method;
# HTTP::Request::Common ã PATCH ããµãã¼ããã¦ãªãã®ã§ã¯ã¼ã¯ã¢ã©ã¦ã³ã
if ($method eq 'PATCH') {
$method = 'POST';
$method = \&$method;
$req = $method->(@a);
$req->method('PATCH');
} else {
$method = \&$method;
$req = $method->(@a);
}
examples/test-validate-json-body/app/lib/Dwarf/HTTP/Async.pm view on Meta::CPAN
package Dwarf::HTTP::Async;
use Dwarf::Pragma;
use AnyEvent;
use AnyEvent::HTTP ();
use HTTP::Request::Common ();
use HTTP::Request;
use HTTP::Response;
sub new { bless {}, $_[0] }
sub get { _request(GET => @_) }
sub post { _request(POST => @_) }
sub put { _request(PUT => @_) }
sub delete { _request(DELETE => @_) }
sub _request {
my $cb = pop;
my $method = shift;
my $self = shift;
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}(@_);
$self->request($req, $cb);
}
sub request {
my($self, $request, $cb) = @_;
my %options = (
headers => $request->headers,
body => $request->content,
);
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Amazon.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Amazon;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Data::Dumper;
use Dwarf::Accessor qw/
ua urls
key secret
access_token
user_id name profile_image
on_error
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Amazon.pm view on Meta::CPAN
$uri->query_form(%{ $params });
%data = (
Content_Type => 'multipart/form-data',
Content => [ source => $source ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
$req->header(Authorization => "Bearer " . $self->access_token);
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Facebook.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Facebook;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
access_token access_token_secret
user_id name profile_image
on_error
/;
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Facebook.pm view on Meta::CPAN
$uri->query_form(%{ $params });
%data = (
Content_Type => 'multipart/form-data',
Content => [ source => $source ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
my $res = $self->ua->request($req);
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Line.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Line;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Data::Dumper;
use Dwarf::Accessor qw/
ua urls
key secret
access_token
user_id name profile_image
on_error
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Line.pm view on Meta::CPAN
$uri->query_form(%{ $params });
%data = (
Content_Type => 'multipart/form-data',
Content => [ source => $source ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
$req->header(Authorization => "Bearer " . $self->access_token);
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Mixi.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Mixi;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use Dwarf::Util qw/encode_utf8 decode_utf8 shuffle_array/;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
access_token refresh_token expires_in got_access_token_at
user_id name profile_image friends
on_error
/;
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Mixi.pm view on Meta::CPAN
@p = ($uri, $params, 'Authorization' => 'OAuth ' . $self->access_token);
if (defined $content) {
push @p, (
'Content-Type' => 'application/json',
'Content' => $content
);
}
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}(@p);
return $req;
}
sub call {
my ($self, $command, $method, $params, $content) = @_;
$self->authorized;
$self->renew_access_token;
my $req = $self->_make_request($command, $method, $params);
my $res = $self->ua->request($req);
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Rakuten.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Rakuten;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use MIME::Base64 qw/decode_base64 encode_base64url/;
use Dwarf::Util qw/safe_decode_json encode_utf8/;
use Digest::SHA qw/hmac_sha256_base64/;
use URI::Escape;
use Dwarf::Accessor qw/
ua urls
key secret
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Twitter.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Twitter;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use Data::Dumper;
use DateTime;
use DateTime::Format::HTTP;
use Digest::SHA qw//;
use Encode qw/encode_utf8/;
use HTTP::Request::Common;
use HTTP::Response;
use JSON;
use LWP::UserAgent;
use Net::OAuth;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
request_token request_token_secret
access_token access_token_secret
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Weibo.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Weibo;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
access_token access_token_secret expires_in
user_id screen_name name profile_image
on_error
/;
examples/test-validate-json-body/app/lib/Dwarf/Module/SocialMedia/Weibo.pm view on Meta::CPAN
$method = 'POST';
%data = (
Content_Type => 'multipart/form-data',
Content => [ %{ $params} ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
my $res = $self->ua->request($req);
examples/test-validate-json-body/app/lib/Dwarf/Test.pm view on Meta::CPAN
package Dwarf::Test;
use Dwarf::Pragma;
use parent 'Exporter';
use HTTP::Request::Common ();
use Plack::Test;
use Test::More;
use UNIVERSAL::require;
our @EXPORT = qw/GET POST is_success get_ok post_ok post_redirect get_not_ok post_not_ok/;
sub GET { HTTP::Request::Common::GET(@_) }
sub POST { HTTP::Request::Common::POST(@_) }
sub is_success {
my ($res, $path) = @_;
my $desc = $res->status_line;
$desc .= ', redirected to ' . ($res->header("Location") || "") if ($res->is_redirect);
if (!$res->is_redirect) {
ok $res->is_success, "$path: $desc";
} else {
ok $res->is_redirect, "$path: $desc";
}
share/app/lib/App/Test.pm view on Meta::CPAN
package App::Test;
use Dwarf::Pragma;
use parent 'Exporter';
use Data::Dumper;
use Encode qw/decode_utf8/;
use JSON;
use HTTP::Cookies;
use HTTP::Request::Common qw/GET HEAD PUT POST DELETE/;
use LWP::UserAgent;
use Plack::Test;
use Test::More;
use WWW::Mechanize;
use App;
our @EXPORT = qw/is_success is_failure/;
sub import {
my ($pkg) = @_;
share/app/lib/App/Test.pm view on Meta::CPAN
my $uri = URI->new($url);
$uri->query_form($args[0]) if $method =~ /^(get|delete)$/i;
my @a = ($uri->as_string);
push @a, @args if $method !~ /^(get|delete)$/i;
$method = uc $method;
my $req;
# HTTP::Request::Common ã PATCH ããµãã¼ããã¦ãªãã®ã§ã¯ã¼ã¯ã¢ã©ã¦ã³ã
if ($method eq 'PATCH') {
$method = 'POST';
$method = \&$method;
$req = $method->(@a);
$req->method('PATCH');
} else {
$method = \&$method;
$req = $method->(@a);
}
share/app/lib/Dwarf/HTTP/Async.pm view on Meta::CPAN
package Dwarf::HTTP::Async;
use Dwarf::Pragma;
use AnyEvent;
use AnyEvent::HTTP ();
use HTTP::Request::Common ();
use HTTP::Request;
use HTTP::Response;
sub new { bless {}, $_[0] }
sub get { _request(GET => @_) }
sub post { _request(POST => @_) }
sub put { _request(PUT => @_) }
sub delete { _request(DELETE => @_) }
sub _request {
my $cb = pop;
my $method = shift;
my $self = shift;
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}(@_);
$self->request($req, $cb);
}
sub request {
my($self, $request, $cb) = @_;
my %options = (
headers => $request->headers,
body => $request->content,
);
share/app/lib/Dwarf/Module/SocialMedia/Amazon.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Amazon;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Data::Dumper;
use Dwarf::Accessor qw/
ua urls
key secret
access_token
user_id name profile_image
on_error
share/app/lib/Dwarf/Module/SocialMedia/Amazon.pm view on Meta::CPAN
$uri->query_form(%{ $params });
%data = (
Content_Type => 'multipart/form-data',
Content => [ source => $source ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
$req->header(Authorization => "Bearer " . $self->access_token);
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
share/app/lib/Dwarf/Module/SocialMedia/Facebook.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Facebook;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
access_token access_token_secret
user_id name profile_image
on_error
/;
share/app/lib/Dwarf/Module/SocialMedia/Facebook.pm view on Meta::CPAN
$uri->query_form(%{ $params });
%data = (
Content_Type => 'multipart/form-data',
Content => [ source => $source ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
my $res = $self->ua->request($req);
share/app/lib/Dwarf/Module/SocialMedia/Line.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Line;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Data::Dumper;
use Dwarf::Accessor qw/
ua urls
key secret
access_token
user_id name profile_image
on_error
share/app/lib/Dwarf/Module/SocialMedia/Line.pm view on Meta::CPAN
$uri->query_form(%{ $params });
%data = (
Content_Type => 'multipart/form-data',
Content => [ source => $source ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
$req->header(Authorization => "Bearer " . $self->access_token);
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
share/app/lib/Dwarf/Module/SocialMedia/Mixi.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Mixi;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use Dwarf::Util qw/encode_utf8 decode_utf8 shuffle_array/;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
access_token refresh_token expires_in got_access_token_at
user_id name profile_image friends
on_error
/;
share/app/lib/Dwarf/Module/SocialMedia/Mixi.pm view on Meta::CPAN
@p = ($uri, $params, 'Authorization' => 'OAuth ' . $self->access_token);
if (defined $content) {
push @p, (
'Content-Type' => 'application/json',
'Content' => $content
);
}
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}(@p);
return $req;
}
sub call {
my ($self, $command, $method, $params, $content) = @_;
$self->authorized;
$self->renew_access_token;
my $req = $self->_make_request($command, $method, $params);
my $res = $self->ua->request($req);
share/app/lib/Dwarf/Module/SocialMedia/Rakuten.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Rakuten;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use MIME::Base64 qw/decode_base64 encode_base64url/;
use Dwarf::Util qw/safe_decode_json encode_utf8/;
use Digest::SHA qw/hmac_sha256_base64/;
use URI::Escape;
use Dwarf::Accessor qw/
ua urls
key secret
share/app/lib/Dwarf/Module/SocialMedia/Twitter.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Twitter;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use Data::Dumper;
use DateTime;
use DateTime::Format::HTTP;
use Digest::SHA qw//;
use Encode qw/encode_utf8/;
use HTTP::Request::Common;
use HTTP::Response;
use JSON;
use LWP::UserAgent;
use Net::OAuth;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
request_token request_token_secret
access_token access_token_secret
share/app/lib/Dwarf/Module/SocialMedia/Weibo.pm view on Meta::CPAN
package Dwarf::Module::SocialMedia::Weibo;
use Dwarf::Pragma;
use parent 'Dwarf::Module';
use Dwarf::HTTP::Async;
use DateTime;
use DateTime::Format::HTTP;
use HTTP::Request::Common ();
use JSON;
use LWP::UserAgent;
use Dwarf::Accessor qw/
ua ua_async urls
key secret
access_token access_token_secret expires_in
user_id screen_name name profile_image
on_error
/;
share/app/lib/Dwarf/Module/SocialMedia/Weibo.pm view on Meta::CPAN
$method = 'POST';
%data = (
Content_Type => 'multipart/form-data',
Content => [ %{ $params} ],
);
} elsif ($method eq 'POST') {
%data = (Content => $params)
}
no strict 'refs';
my $req = &{"HTTP::Request::Common::$method"}($uri, %data);
$req->header("Content-Length", 0) if $method eq 'DELETE';
return $req;
}
sub call {
my ($self, $command, $method, $params) = @_;
$self->authorized;
my $req = $self->_make_request($command, $method, $params);
my $res = $self->ua->request($req);
share/app/lib/Dwarf/Test.pm view on Meta::CPAN
package Dwarf::Test;
use Dwarf::Pragma;
use parent 'Exporter';
use HTTP::Request::Common ();
use Plack::Test;
use Test::More;
use UNIVERSAL::require;
our @EXPORT = qw/GET POST is_success get_ok post_ok post_redirect get_not_ok post_not_ok/;
sub GET { HTTP::Request::Common::GET(@_) }
sub POST { HTTP::Request::Common::POST(@_) }
sub is_success {
my ($res, $path) = @_;
my $desc = $res->status_line;
$desc .= ', redirected to ' . ($res->header("Location") || "") if ($res->is_redirect);
if (!$res->is_redirect) {
ok $res->is_success, "$path: $desc";
} else {
ok $res->is_redirect, "$path: $desc";
}