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;