#!/usr/bin/perl -w # Copyright (C) 2014-2016 all contributors # License: AGPL-3.0+ or later # # Enables using PublicInbox::WWW as a CGI script use strict; use warnings; use Plack::Loader; use Plack::Builder; use Plack::Request; use Plack::Handler::CGI; use PublicInbox::WWW; BEGIN { PublicInbox::WWW->preload if $ENV{MOD_PERL} } my $have_deflater = eval { require Plack::Middleware::Deflater; 1 }; my $app = builder { if ($have_deflater) { enable 'Deflater', content_type => [ 'text/html', 'text/plain', 'application/atom+xml' ]; } # 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'; enable 'Head'; sub { my $req = Plack::Request->new(@_); PublicInbox::WWW::run($req, $req->method); } }; Plack::Handler::CGI->new->run($app);