]> Sergey Matveev's repositories - public-inbox.git/blobdiff - examples/cgit.psgi
cgit: support running cgit as a standalone CGI
[public-inbox.git] / examples / cgit.psgi
diff --git a/examples/cgit.psgi b/examples/cgit.psgi
new file mode 100644 (file)
index 0000000..ca93f92
--- /dev/null
@@ -0,0 +1,29 @@
+#!/usr/bin/perl -w
+# Copyright (C) 2019 all contributors <meta@public-inbox.org>
+# License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
+#
+# PublicInbox::Cgit may be used independently of WWW.
+#
+# Usage:
+#      plackup -I lib -o 127.0.0.1 -R lib -r examples/cgit.psgi
+use strict;
+use warnings;
+use Plack::Builder;
+use PublicInbox::Cgit;
+use PublicInbox::Config;
+my $pi_config = PublicInbox::Config->new;
+my $cgit = PublicInbox::Cgit->new($pi_config);
+
+builder {
+       eval {
+               enable 'Deflater',
+                       content_type => [ qw(
+                               text/html
+                               text/plain
+                               application/atom+xml
+                               )]
+       };
+       eval { enable 'ReverseProxy' };
+       enable 'Head';
+       sub { $cgit->call($_[0]) }
+}