diff options
Diffstat (limited to 'lib/Net/Riak/Role')
-rw-r--r-- | lib/Net/Riak/Role/REST.pm | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/Net/Riak/Role/REST.pm b/lib/Net/Riak/Role/REST.pm index 1a18ff7..136ea88 100644 --- a/lib/Net/Riak/Role/REST.pm +++ b/lib/Net/Riak/Role/REST.pm @@ -6,6 +6,10 @@ use URI; use HTTP::Request; use Moose::Role; +requires 'http_request'; +requires 'http_response'; +requires 'useragent'; + sub _build_path { my ($self, $path) = @_; $path = join('/', @$path); @@ -20,10 +24,22 @@ sub _build_uri { $uri; } -sub request { +# constructs a HTTP::Request +sub new_request { my ($self, $method, $path, $params) = @_; my $uri = $self->_build_uri($path, $params); - HTTP::Request->new($method => $uri); + return HTTP::Request->new($method => $uri); +} + +# makes a HTTP::Request returns and stores a HTTP::Response +sub send_request { + my ($self, $req) = @_; + + $self->http_request($req); + my $r = $self->useragent->request($req); + $self->http_response($r); + + return $r; } 1; |