From 052f26f3ada1042afa5acadbecc48b487f4e2d52 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 27 Feb 2016 21:57:57 +0000 Subject: move executables to script/ directory This seems to match more closely with what is expected of Perl packages based on how blib is used. Hopefully makes the top-level source tree less cluttered and things easier-to-find. --- script/public-inbox.cgi | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 script/public-inbox.cgi (limited to 'script/public-inbox.cgi') diff --git a/script/public-inbox.cgi b/script/public-inbox.cgi new file mode 100755 index 00000000..ee9510c1 --- /dev/null +++ b/script/public-inbox.cgi @@ -0,0 +1,32 @@ +#!/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 $www = PublicInbox::WWW->new; +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 { $www->call(@_) }; +}; +Plack::Handler::CGI->new->run($app); -- cgit v1.2.3-24-ge0c7