diff options
author | Eric Wong <e@80x24.org> | 2016-03-07 08:10:57 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-04-05 18:58:27 +0000 |
commit | 9c8e361c7270da7cb665257e01d221e46bbf00a3 (patch) | |
tree | 4492c30968e783240df5f2dab114beddf20165fa /examples | |
parent | 2de5a44d184c25b162229690282a237adadbcb55 (diff) | |
download | public-inbox-9c8e361c7270da7cb665257e01d221e46bbf00a3.tar.gz |
We want to be consistent between the standard PSGI examples to lower the learning curve.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/repobrowse.psgi | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/examples/repobrowse.psgi b/examples/repobrowse.psgi index 6e7a591b..d68d1255 100644 --- a/examples/repobrowse.psgi +++ b/examples/repobrowse.psgi @@ -1,22 +1,45 @@ #!/usr/bin/perl -w -# Copyright (C) 2015 all contributors <meta@public-inbox.org> +# Copyright (C) 2015-2016 all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> -# Note: this is part of our test suite, update t/plack.t if this changes +# +# standalone repobrowse example PSGI +# +# Note: this is part of our test suite, update t/*.t if this changes # Usage: plackup [OPTIONS] /path/to/this/file +# A startup command for development which monitors changes: +# plackup -I lib -o 127.0.0.1 -R lib -r examples/repobrowse.psgi use strict; use warnings; use PublicInbox::Repobrowse; use Plack::Builder; -my $have_deflater = eval { require Plack::Middleware::Deflater; 1 }; my $repo_browse = PublicInbox::Repobrowse->new; builder { - enable 'Plack::Middleware::Chunked'; - if ($have_deflater) { + enable 'Chunked'; + eval { enable 'Deflater', content_type => [ 'text/html', 'text/plain', 'application/atom+xml' ]; - } + }; + $@ and warn +"Plack::Middleware::Deflater missing, bandwidth will be wasted\n"; + + # 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 + eval { enable 'ReverseProxy' }; + $@ and warn +"Plack::Middleware::ReverseProxy missing,\n", +"URL generation for redirects may be wrong if behind a reverse proxy\n"; + + # Optional: Log timing information for requests to track performance. + # Logging to STDOUT is recommended since public-inbox-httpd knows + # how to reopen it via SIGUSR1 after log rotation. + # enable 'AccessLog::Timed', + # logger => sub { syswrite(STDOUT, $_[0]) }, + # format => '%t "%r" %>s %b %D'; + enable 'Head'; sub { $repo_browse->call(@_) } } |