Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Xavier Bachelot
lemonldap-ng
Commits
ee163a07
Commit
ee163a07
authored
Mar 22, 2018
by
Yadd
Browse files
Add llngapp.psgi that can replace FastCGI server
parent
aeece8ef
Changes
4
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
ee163a07
...
...
@@ -787,6 +787,7 @@ install_examples_site:
@
for
i
in
portal manager
;
do
\
cp
-a
-f
lemonldap-ng-
$$
i/eg
$(REXAMPLESDIR)
/
$$
i
;
\
done
@
cp
-a
-f
fastcgi-server/psgi/llngapp.psgi
$(REXAMPLESDIR)
/
$$
i
@
rm
-rf
$(REXAMPLESDIR)
/portal/skins
\
$(REXAMPLESDIR)
/manager/skins
\
@rm
-rf
$$
(
find
$(REXAMPLESDIR)
-type
d
-name
.svn
)
...
...
debian/control
View file @
ee163a07
...
...
@@ -137,10 +137,10 @@ Description: Lemonldap::NG FastCGI server
Package: lemonldap-ng-handler
Architecture: all
Depends: ${misc:Depends},
lemonldap-ng-fastcgi-server (= ${binary:Version}) | libapache2-mod-perl2,
liblemonldap-ng-handler-perl (= ${binary:Version})
Breaks: liblemonldap-ng-handler-perl (<< 1.9.1-2~)
Replaces: liblemonldap-ng-handler-perl (<< 1.9.1-2~)
Recommends: lemonldap-ng-fastcgi-server (= ${binary:Version}) | libapache2-mod-perl2
Description: Lemonldap::NG handler part
Lemonldap::NG is a complete Web-SSO system that can run with reverse-proxies
or directly on application webservers. It can be used in conjunction with
...
...
debian/lemonldap-ng.examples
0 → 100644
View file @
ee163a07
fastcgi-server/psgi/llngapp.psgi
fastcgi-server/psgi/llngapp.psgi
0 → 100644
View file @
ee163a07
# Plack app to use with Nginx
#
# This app can remplace FastCGI server using Starman, Twiggy, uWSGI-Plugin-PSGI,
# Feersum,...
my %builder = (
handler => sub {
require Lemonldap::NG::Handler::Server::Nginx;
return Lemonldap::NG::Handler::Server::Nginx->run( {} );
},
reload => sub {
require Lemonldap::NG::Handler::Server::Nginx;
return Lemonldap::NG::Handler::Server::Nginx->reload();
},
status => sub {
require Lemonldap::NG::Handler::Server::Nginx;
return Lemonldap::NG::Handler::Server::Nginx->status();
},
manager => sub {
require Lemonldap::NG::Manager;
return Lemonldap::NG::Manager->run( {} );
},
cgi => sub {
require CGI::Emulate::PSGI;
require CGI::Compile;
return sub {
my $script = $_[0]->{SCRIPT_FILENAME};
return $_apps{$script}->(@_) if ( $_apps{$script} );
$_apps{$script} =
CGI::Emulate::PSGI->handler( CGI::Compile->compile($script) );
return $_apps{$script}->(@_);
};
},
psgi => sub {
return sub {
my $script = $_[0]->{SCRIPT_FILENAME};
return $_apps{$script}->(@_) if ( $_apps{$script} );
$_apps{$script} = do $script;
unless ( $_apps{$script} and ref $_apps{$script} ) {
die "Unable to load $_[0]->{SCRIPT_FILENAME}";
}
return $_apps{$script}->(@_);
}
},
);
unless ($>) {
die "Refuse to run as root. Aborting";
}
# Hook for customFunctions initialization
Lemonldap::NG::Handler::Main->onReload(
bless( {}, 'Lemonldap::NG::Handler::FastCGI::Loader' ),
'loadCustomHandlers' );
# Main routine
sub {
my $type = $_[0]->{LLTYPE} || 'handler';
return $_apps{$type}->(@_) if ( defined $_apps{$type} );
if ( defined $builder{$type} ) {
$_apps{$type} = $builder{$type}->();
return $_apps{$type}->(@_);
}
return [ 500, [], ["Unknown PSGI type $type"] ];
};
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment