about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--examples/public-inbox.psgi20
-rwxr-xr-xscript/public-inbox-httpd24
2 files changed, 28 insertions, 16 deletions
diff --git a/examples/public-inbox.psgi b/examples/public-inbox.psgi
index acceba3d..0d11c19f 100644
--- a/examples/public-inbox.psgi
+++ b/examples/public-inbox.psgi
@@ -9,21 +9,27 @@ use PublicInbox::WWW;
 PublicInbox::WWW->preload;
 use Plack::Request;
 use Plack::Builder;
-my $have_deflater = eval { require Plack::Middleware::Deflater; 1 };
 my $www = PublicInbox::WWW->new;
 builder {
         enable 'Chunked';
-        if ($have_deflater) {
+        eval {
                 enable 'Deflater',
-                        content_type => [ 'text/html', 'text/plain',
-                                        'application/atom+xml' ];
-        }
-
+                        content_type => [ qw(
+                                text/html
+                                text/plain
+                                application/atom+xml
+                                )]
+        };
+        $@ and warn
+"Plack::Middleware::Deflater missing, bandwidth will be wasted\n";
         # Enable to ensure redirects and Atom feed URLs are generated
         # properly when running behind a reverse proxy server which
         # sets X-Forwarded-For and X-Forwarded-Proto request headers.
         # See Plack::Middleware::ReverseProxy documentation for details
-        enable 'ReverseProxy';
+        eval { enable 'ReverseProxy' };
+        $@ and warn
+"Plack::Middleware::ReverseProxy missing,\n",
+"URL generation for redirects may be wrong if behind a reverse proxy\n";
 
         enable 'Head';
         sub { $www->call(@_) };
diff --git a/script/public-inbox-httpd b/script/public-inbox-httpd
index 6109af01..19315bb4 100755
--- a/script/public-inbox-httpd
+++ b/script/public-inbox-httpd
@@ -24,18 +24,24 @@ my $refresh = sub {
                 PublicInbox::WWW->preload;
                 my $www = PublicInbox::WWW->new;
                 $app = eval {
-                        my $deflate_types = eval {
-                                require Plack::Middleware::Deflater;
-                                [ 'text/html', 'text/plain',
-                                        'application/atom+xml' ]
-                        };
                         builder {
                                 enable 'Chunked';
-                                if ($deflate_types) {
+                                eval {
                                         enable 'Deflater',
-                                                content_type => $deflate_types
-                                }
-                                enable 'ReverseProxy';
+                                                content_type => [ qw(
+                                                        text/html
+                                                        text/plain
+                                                        application/atom+xml
+                                                        )]
+                                };
+                                $@ and warn
+"Plack::Middleware::Deflater missing, bandwidth will be wasted\n";
+
+                                eval { enable 'ReverseProxy' };
+                                $@ and warn
+"Plack::Middleware::ReverseProxy missing,\n",
+"URL generation for redirects may be wrong if behind a reverse proxy\n";
+
                                 enable 'Head';
                                 sub { $www->call(@_) };
                         };