summaryrefslogtreecommitdiff
path: root/lib/Net/Riak/Role/REST.pm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/Net/Riak/Role/REST.pm20
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;