use Moose;
use namespace::clean -except => 'meta';
+use Moose::Util::TypeConstraints;
use LWP::UserAgent;
use List::MoreUtils 'firstval';
use URI;
isa => 'Int', is => 'ro', default => 10,
);
-has base_uri => (
+has base_url => (
isa => 'Str', is => 'ro', required => 0,
);
);
has user_agent => (
- is => 'ro', lazy => 1, builder => '_build_user_agent',
+ isa => duck_type([qw/get post/]), is => 'ro',
+ lazy => 1, builder => '_build_user_agent',
);
sub _build_user_agent {
sub generate_subinclude {
my ($self, $c, $path, $args) = @_;
my $error_msg_prefix = "SubInclude for $path failed: ";
- my $base_uri = $self->base_uri || $c->req->base;
- my $uri_map = $self->uri_map || { q{/} => $base_uri };
- $base_uri = $uri_map->{ firstval { $path =~ s/^$_// } keys %$uri_map };
- $base_uri =~ s{/$}{};
- my $uri = URI->new(join(q{/}, $base_uri, $path));
+ my $base_url = $self->base_url || $c->req->base;
+ my $uri_map = $self->uri_map || { q{/} => $base_url };
+ $base_url = $uri_map->{ firstval { $path =~ s/^$_// } keys %$uri_map };
+ $base_url =~ s{/$}{};
+ my $uri = URI->new(join(q{/}, $base_url, $path));
my $req_method = q{_} . lc $self->http_method . '_request';
my $response;
This expects a HashRef in order to map paths to different URLs.
-=item base_uri
+=item base_url
Used only if C<uri_map> is C<undef> and defaults to C<< $c->request->base >>.