my $req_class = $app->request_class;
return if $req_class->isa($class);
my $req_class_meta = Moose->init_meta( for_class => $req_class );
- my $role = $self->_related_role;
+ my $role = $class->_related_role;
return if $req_class_meta->does_role($role);
if ($req_class eq 'Catalyst::Request') {
$app->request_class($class);
extends 'Catalyst::Request::REST';
with 'Catalyst::TraitFor::Request::REST::ForBrowsers';
+sub _related_role { 'Catalyst::TraitFor::Request::REST::ForBrowsers' }
+
__PACKAGE__->meta->make_immutable;
1;
my $sub = lc($method);
*$sub = sub {
my $self = shift;
- my %p = validate( @_, { url => { type => SCALAR }, }, );
+ 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;
};
{
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'} ) }