#!/usr/bin/env perl use strict; use warnings; BEGIN { if ($ENV{_} and $ENV{_} =~ m/netdisco-web-fg$/) { die "You probably want: '~/bin/localenv starman $0 --workers=1 --disable-keepalive'\n"; } } use FindBin; FindBin::again(); use Path::Class 'dir'; BEGIN { # stuff useful locations into @INC unshift @INC, dir($FindBin::RealBin)->parent->subdir('lib')->stringify, dir($FindBin::RealBin, 'lib')->stringify; unshift @INC, split m/:/, ($ENV{NETDISCO_INC} || ''); } use App::Netdisco; use Dancer; BEGIN { warning sprintf "App::Netdisco %s web", ($App::Netdisco::VERSION || 'HEAD'); } set plack_middlewares => [ ['Plack::Middleware::ReverseProxy'], [ Headers => ( set => ['X-Frame-Options' => setting('HTTP-Header-X-Frame-Options')], )], [ Headers => ( set => ['Content-Security-Policy' => setting('HTTP-Header-Content-Security-Policy')], )], [ Expires => ( content_type => [qr{^application/javascript}, qr{^text/css}, qr{image}, qr{font}], expires => 'access plus 1 day', )], [ Static => ( path => qr{^/(?:javascripts|css|font|images)/}, root => $ENV{DANCER_PUBLIC}, pass_through => 1, )], # install Dancer::Debug for this... ( $ENV{DANCER_DEBUG} ? [ Debug => ( panels => [qw/Dancer::Settings Parameters Dancer::Version DBITrace/], )] : () ) ]; use App::Netdisco::Web; use Plack::Builder; my $path = (setting('path') || '/'); builder { mount $path => dance }; =head1 NAME netdisco-web-fg - Web Application for Netdisco =head1 SEE ALSO =over 4 =item * L =back =cut