Cmd-Dwarf

 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";
	}



( run in 0.913 second using v1.01-cache-2.11-cpan-de7293f3b23 )