summary refs log tree commit diff
path: root/lib/Net/Riak/Role/REST.pm
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2010-06-09 16:38:20 +0200
committerfranck cuny <franck@lumberjaph.net>2010-06-09 16:38:20 +0200
commitb797f187a22f38142ac3ac957f0e874ca492c2cd (patch)
tree7c754fc69ddf91e7c4475b84479d543c0e395727 /lib/Net/Riak/Role/REST.pm
downloadnet-riak-b797f187a22f38142ac3ac957f0e874ca492c2cd.tar.gz
initial import
Diffstat (limited to 'lib/Net/Riak/Role/REST.pm')
-rw-r--r--lib/Net/Riak/Role/REST.pm29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/Net/Riak/Role/REST.pm b/lib/Net/Riak/Role/REST.pm
new file mode 100644
index 0000000..5daad84
--- /dev/null
+++ b/lib/Net/Riak/Role/REST.pm
@@ -0,0 +1,29 @@
+package Net::Riak::Role::REST;
+
+# ABSTRACT: role for REST operations
+
+use URI;
+use HTTP::Request;
+use Moose::Role;
+
+sub _build_path {
+    my ($self, $path) = @_;
+    $path = join('/', @$path);
+}
+
+sub _build_uri {
+    my ($self, $path, $params) = @_;
+
+    my $uri = URI->new($self->host);
+    $uri->path($self->_build_path($path));
+    $uri->query_form(%$params);
+    $uri;
+}
+
+sub request {
+    my ($self, $method, $path, $params) = @_;
+    my $uri = $self->_build_uri($path, $params);
+    my $request = HTTP::Request->new($method => $uri);
+}
+
+1;