X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=script%2Fpublic-inbox.cgi;fp=script%2Fpublic-inbox.cgi;h=ee9510c1f012757163076cf8b991af64f78ac6d8;hb=052f26f3ada1042afa5acadbecc48b487f4e2d52;hp=0000000000000000000000000000000000000000;hpb=617f35dacbd4e5972bf2d82411b45009bbc79a42;p=public-inbox.git 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);