#!/usr/bin/env perl use strict; use warnings FATAL => 'all'; 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; } use App::Netdisco; use Dancer; debug sprintf "App::Netdisco %s", ($App::Netdisco::VERSION || 'HEAD'); my $home = ($ENV{NETDISCO_HOME} || $ENV{HOME}); set('session_dir', dir($home, 'netdisco-web-sessions')); set plack_middlewares => [ [ Expires => ( content_type => [qw{ application/javascript text/css }, qr{image}], expires => 'access plus 1 day', )], [ Static => ( path => qr{^/(?:javascripts|css|font|images)/}, root => $ENV{DANCER_PUBLIC}, pass_through => 1, )], ]; use App::Netdisco::Web; use Plack::Builder; my $app = sub { my $env = shift; my $request = Dancer::Request->new(env => $env); Dancer->dance($request); }; my $path = (setting('path') || '/'); builder { mount $path => $app }; =head1 NAME netdisco-web-fg - Web Application for Netdisco =head1 SEE ALSO =over 4 =item * L =back =cut