X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=examples%2Fpublic-inbox.psgi;h=8886d7fa881b8d18f076a6981309b41913c9cd4b;hb=f026dbdd392c9dd5fddbdad9a2240738d4956640;hp=a90a2bc3ae7544ebedcc5eb04d64b52750989231;hpb=79bf257cbc4e188992f540d6b4ae1bd5cbcf26ee;p=public-inbox.git diff --git a/examples/public-inbox.psgi b/examples/public-inbox.psgi index a90a2bc3..8886d7fa 100644 --- a/examples/public-inbox.psgi +++ b/examples/public-inbox.psgi @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# Copyright (C) 2014-2016 all contributors +# Copyright (C) 2014-2018 all contributors # License: GPL-3.0+ # Note: this is part of our test suite, update t/plack.t if this changes # Usage: plackup [OPTIONS] /path/to/this/file @@ -8,12 +8,13 @@ use strict; use warnings; use PublicInbox::WWW; -PublicInbox::WWW->preload; use Plack::Builder; my $www = PublicInbox::WWW->new; +$www->preload; # share the public-inbox code itself: my $src = $ENV{SRC_GIT_DIR}; # '/path/to/public-inbox.git' +$src = PublicInbox::Git->new($src) if defined $src; builder { eval { @@ -29,7 +30,7 @@ builder { # 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. + # sets the X-Forwarded-Proto request header. # See Plack::Middleware::ReverseProxy documentation for details eval { enable 'ReverseProxy' }; $@ and warn @@ -47,7 +48,9 @@ builder { sub { my ($env) = @_; # share public-inbox.git code! - if ($src && $env->{PATH_INFO} =~ m!\A/public-inbox\.git/(.*)!) { + if ($src && $env->{PATH_INFO} =~ + m!\A/(?:public-inbox(?:\.git)?/)? + ($PublicInbox::GitHTTPBackend::ANY)\z!xo) { PublicInbox::GitHTTPBackend::serve($env, $src, $1); } else { $www->call($env);