#!/usr/bin/perl -w
-# Copyright (C) 2016 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2020 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
#
# Standalone HTTP server for public-inbox.
use strict;
-use warnings;
-use Plack::Util;
use PublicInbox::Daemon;
-use PublicInbox::HTTP;
-use PublicInbox::HTTPD;
-use Plack::Request;
-use Plack::Builder;
+BEGIN {
+ for (qw(Plack::Builder Plack::Util)) {
+ eval("require $_") or die "E: Plack is required for $0\n";
+ }
+ Plack::Builder->import;
+ require PublicInbox::HTTP;
+ require PublicInbox::HTTPD;
+}
my %httpds;
my $app;
my $refresh = sub {
}
} else {
require PublicInbox::WWW;
- PublicInbox::WWW->preload;
my $www = PublicInbox::WWW->new;
+ $www->preload;
$app = builder {
- enable 'Chunked';
eval {
enable 'Deflater',
content_type => [ qw(
application/atom+xml
)]
};
- $@ and warn
-"Plack::Middleware::Deflater missing, bandwidth will be wasted\n";
eval { enable 'ReverseProxy' };
$@ and warn