Catalyst-Action-REST
view release on metacpan or search on metacpan
t/lib/Test/Rest.pm view on Meta::CPAN
my $sub = lc($method);
*$sub = sub {
my $self = shift;
my %p = validate(
@_,
{
url => { type => SCALAR },
headers => { type => HASHREF, default => {} },
},
);
my $req = HTTP::Request->new( "$method" => $p{'url'} );
$req->header( $_ => $p{headers}{$_} ) for keys %{ $p{headers} };
$req->content_type( $self->{'content_type'} );
return $req;
};
}
my @data_methods = qw(PUT POST);
foreach my $method (@data_methods) {
no strict 'refs';
my $sub = lc($method);
*{$sub} = sub {
my $self = shift;
my %p = validate(
@_,
{
url => { type => SCALAR },
data => 1,
headers => { type => HASHREF, default => {} },
},
);
my $req = HTTP::Request->new( "$method" => $p{'url'} );
$req->header( $_ => $p{headers}{$_} ) for keys %{ $p{headers} };
$req->content_type( $self->{'content_type'} );
$req->content_length(
do { use bytes; length( $p{'data'} ) }
);
$req->content( $p{'data'} );
return $req;
};
}
}
( run in 0.588 second using v1.01-cache-2.11-cpan-de7293f3b23 )