Introduce Kalamar::Request

Change-Id: I0c21bf8521cebeedc95a4251d7abf074e30ca2a3
diff --git a/lib/Kalamar/Plugin/KalamarUser.pm b/lib/Kalamar/Plugin/KalamarUser.pm
index 04a90b2..3963fec 100644
--- a/lib/Kalamar/Plugin/KalamarUser.pm
+++ b/lib/Kalamar/Plugin/KalamarUser.pm
@@ -3,6 +3,7 @@
 use Mojo::Util qw/deprecated/;
 use Mojo::Promise;
 use Mojo::ByteStream 'b';
+use Kalamar::Request;
 
 has 'api';
 has 'ua';
@@ -10,18 +11,12 @@
 sub register {
   my ($plugin, $mojo, $param) = @_;
 
+
   # Load parameter from config file
   if (my $config_param = $mojo->config('Kalamar')) {
     $param = { %$param, %$config_param };
   };
 
-  # Load 'notifications' plugin
-  unless (exists $mojo->renderer->helpers->{notify}) {
-    $mojo->plugin(Notifications => {
-      HTML => 1
-    });
-  };
-
   # Set API!
   $plugin->api($param->{api}) or return;
   $plugin->ua(Mojo::UserAgent->new(
@@ -33,6 +28,7 @@
   # Set app to server
   $plugin->ua->server->app($mojo);
 
+
   # Get a user agent object for Kalamar
   $mojo->helper(
     'kalamar_ua' => sub {
@@ -40,6 +36,7 @@
     }
   );
 
+
   # Get user handle
   $mojo->helper(
     'user_handle' => sub {
@@ -62,6 +59,7 @@
     }
   );
 
+
   # This is a new general korap_request helper,
   # that can trigger some hooks for, e.g., authentication
   # or analysis. It returns a promise.
@@ -90,8 +88,22 @@
       return $ua->start_p($tx);
     }
   );
+
+
+  # Return KorAP-Request object helper
+  $mojo->helper(
+    'kalamar.request' => sub {
+      return Kalamar::Request->new(
+        controller => shift,
+        method => shift,
+        url => shift,
+        ua => $plugin->ua
+      )->param(@_);
+    }
+  );
 };
 
+
 1;