X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FHTTPD.pm;h=47f5a01a786daa8e7d0c6bf859cfd417541aa7c3;hb=9bd675d33ad1e49bd2ebe12a1d216216e61380de;hp=905afbb89b345404135733c2edbd0dc1cf44a31a;hpb=764a7a0e9f1e16cef58d23a2703966a94cce12e3;p=public-inbox.git diff --git a/lib/PublicInbox/HTTPD.pm b/lib/PublicInbox/HTTPD.pm index 905afbb8..47f5a01a 100644 --- a/lib/PublicInbox/HTTPD.pm +++ b/lib/PublicInbox/HTTPD.pm @@ -1,6 +1,8 @@ -# Copyright (C) 2016-2018 all contributors +# Copyright (C) 2016-2019 all contributors # License: AGPL-3.0+ +# wraps a listen socket for HTTP and links it to the PSGI app in +# public-inbox-httpd package PublicInbox::HTTPD; use strict; use warnings; @@ -27,13 +29,17 @@ sub new { 'psgi.run_once' => Plack::Util::FALSE, 'psgi.multithread' => Plack::Util::FALSE, 'psgi.multiprocess' => Plack::Util::TRUE, + + # We don't use this anywhere, but we can support + # other PSGI apps which might use it: 'psgix.input.buffered' => Plack::Util::TRUE, - # XXX unstable API! - 'pi-httpd.async' => do { - no warnings 'once'; - *pi_httpd_async - }, + # XXX unstable API!, only GitHTTPBackend needs + # this to limit git-http-backend(1) parallelism. + # The rest of our PSGI code is generic, relying + # on "pull" model using "getline" to prevent + # over-buffering. + 'pi-httpd.async' => \&pi_httpd_async ); bless { app => $app,