X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=script%2Fpublic-inbox-httpd;h=caceae203b894015848d4c48e57b8ff5a5928be3;hb=d0bc58517c97c8982fdf42533297d96be9efb484;hp=9b869f906032ed8e090f60d3c92ca62792ab47de;hpb=b1d487f6024609908b9f195b2947a051615108f2;p=public-inbox.git diff --git a/script/public-inbox-httpd b/script/public-inbox-httpd index 9b869f90..caceae20 100755 --- a/script/public-inbox-httpd +++ b/script/public-inbox-httpd @@ -1,59 +1,8 @@ -#!/usr/bin/perl -w -# Copyright (C) 2016-2019 all contributors +#!perl -w +# Copyright (C) all contributors # License: AGPL-3.0+ # # Standalone HTTP server for public-inbox. -use strict; -use warnings; -use Plack::Util; +use v5.12; use PublicInbox::Daemon; -use PublicInbox::HTTP; -use PublicInbox::HTTPD; -use Plack::Builder; -my %httpds; -my $app; -my $refresh = sub { - if (@ARGV) { - eval { $app = Plack::Util::load_psgi(@ARGV) }; - if ($@) { - die $@, -"$0 runs in /, command-line paths must be absolute\n"; - } - } else { - require PublicInbox::WWW; - my $www = PublicInbox::WWW->new; - $www->preload; - $app = builder { - # Perl 5.16.3 leaks in our "push" response code path - # (e.g. Qspawn) due to something in - # Plack::Util::response_cb, regardless of whether the - # client is sending Accept-Encoding:gzip requests. - # perl5180delta documents many leak fixes, so assume - # 5.18+ is safe for now and bump the check as-need: - $] >= 5.018000 and eval { - enable 'Deflater', - content_type => [ qw( - text/html - text/plain - application/atom+xml - )] - }; - - eval { enable 'ReverseProxy' }; - $@ and warn -"Plack::Middleware::ReverseProxy missing,\n", -"URL generation for redirects may be wrong if behind a reverse proxy\n"; - - enable 'Head'; - sub { $www->call(@_) }; - }; - } -}; - -PublicInbox::Daemon::run('0.0.0.0:8080', $refresh, - sub ($$$) { # post_accept - my ($client, $addr, $srv) = @_; - my $fd = fileno($srv); - my $h = $httpds{$fd} ||= PublicInbox::HTTPD->new($srv, $app); - PublicInbox::HTTP->new($client, $addr, $h), - }); +PublicInbox::Daemon::run('http://0.0.0.0:8080');