about summary refs log tree commit homepage
path: root/examples/cgit.psgi
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-03-10 22:02:29 +0000
committerEric Wong <e@80x24.org>2019-04-04 09:13:58 +0000
commit7f9cf4cbf5920591a955035555c2969d7d29af66 (patch)
tree4ac91316b886c7753aae8b6ffb09496d449ca72b /examples/cgit.psgi
parent55c250a8937ccdd2e600980d5e5812c7267f996e (diff)
downloadpublic-inbox-7f9cf4cbf5920591a955035555c2969d7d29af66.tar.gz
We depend on git-http-backend for smart HTTP clone support,
however; since cgit does not support smart clones natively.
WWW.pm will be able to cascade down to this as a 404 handler in
the future.
Diffstat (limited to 'examples/cgit.psgi')
-rw-r--r--examples/cgit.psgi29
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/cgit.psgi b/examples/cgit.psgi
new file mode 100644
index 00000000..ca93f924
--- /dev/null
+++ b/examples/cgit.psgi
@@ -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]) }
+}