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);