lemonldap-ng/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Plugin.pm

38 lines
836 B
Perl
Raw Normal View History

2016-06-09 20:40:20 +02:00
# Base package for LLNG portal plugins. It adds somme wrapper to
# Lemonldap::NG::Handler::PSGI::Try (base of portal)
2016-05-28 10:33:39 +02:00
package Lemonldap::NG::Portal::Main::Plugin;
use strict;
use Mouse;
our $VERSION = '2.0.0';
2016-06-02 23:20:36 +02:00
extends 'Lemonldap::NG::Common::Module';
2016-05-28 10:33:39 +02:00
sub addAuthRoute {
my $self = shift;
return $self->_addRoute('addAuthRoute',@_);
}
sub addUnauthRoute {
my $self = shift;
return $self->_addRoute('addUnauthRoute',@_);
}
sub _addRoute {
my ( $self, $type, $word, $subName, $methods ) = @_;
die 'Only simple route are authorizated here. Uses $self->p->addAuthRoute'
if ( ref $subName );
$self->can($subName) or die "Unknown sub $subName";
$self->p->$type(
$word,
sub {
my $p = shift;
return $self->$subName(@_);
},
$methods
);
}
1;