Eixo-Rest

 view release on metacpan or  search on metacpan

lib/Eixo/Rest/Request.pm  view on Meta::CPAN

    $self->onProgress->($chunk, $req) if($self->onProgress);
}   

sub process {die ref($_[0]) . "::process: MUST BE DEFINED"}

sub send {die ref($_[0]) . "::send: MUST BE DEFINED"}

sub unmarshall{
    my ($self, $response) = @_;

    my $content = $response->decoded_content(
        default_charset=> 'UTF-8'
    );

    # nowadays (HTTP::Message v6.11)
    # decoded_content isn't decoding utf8 charset
    # if content_type is application/json
    if($response->content_type eq 'application/json'){
        use Encode;
        $content = Encode::decode('UTF-8', $content);
    }

    if($self->__format eq 'json'){

        return JSON->new->decode($content || '{}')
    }

t/030_request_async.t  view on Meta::CPAN

package FakeUserAgent;

sub new{
	return bless({t=>$_[1], success=>$_[2], content=>$_[3] || $_[2]});
}

sub is_success{
	return $_[0]->{success};
}

sub decoded_content{
	return $_[0]->{content};
}

sub content_type{
    'application/json'
}

sub request{
	my ($self, $req, $code) = @_;



( run in 0.967 second using v1.01-cache-2.11-cpan-26ccb49234f )