get jquery from archive.org (without www) to have one 302 request for each resource
[bookreader.git] / plack / bookreader.psgi
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4
5 use Plack::Builder;
6 use Plack::Middleware::Debug;
7 use Plack::App::Directory;
8 use lib './lib';
9 use Plack::App::BookReader;
10
11 builder {
12
13         enable "Plack::Middleware::ServerStatus::Lite",
14                 path => '/server-status',
15 #               allow => [ '127.0.0.1', '10.60.0.0/16', '193.198.0.0/16', '0.0.0.0/32' ], # FIXME doesn't work for IPv6
16                 counter_file => '/tmp/counter_file',
17                 scoreboard => '/tmp/server-status';
18
19         enable 'Debug', panels => [
20                 qw(Environment Response Timer Memory),
21         ];
22
23 #       enable 'Plack::Middleware::Static',
24 #               path => qr{^/BookReader}, root => '../BookReader';
25
26         enable 'StackTrace';
27
28         enable "ConditionalGET";
29         enable "Plack::Middleware::ETag", file_etag => [ "inode", "size", "mtime" ];
30
31         mount '/BookReader' =>
32                 Plack::App::Directory->new({ root => "../BookReader" })->to_app;
33
34         mount '/cache/' =>
35                 Plack::App::BookReader->new({ root => "cache" })->to_app;
36
37         # resouces
38
39         mount '/dk.nsk.hr' =>
40                 Plack::App::BookReader->new({ root => "/srv/dk.nsk.hr" })->to_app;
41
42         mount '/share' =>
43                 Plack::App::BookReader->new({ root => "/mnt/share" })->to_app;
44
45         mount '/NSK' =>
46                 Plack::App::Directory->new({ root => "NSK" })->to_app;
47
48 }