X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2FPublicInbox%2FHTTPD.pm;h=1331a91ee9bf9c5f5f190f6be70ee6b77c7235d0;hb=55b707d788ce13696e4411389583e720ea6dab01;hp=38517710a414d00ee36d21b069de90953ffa4b08;hpb=b0e5062d43a96372801713ef78a78d6a1bc852bc;p=public-inbox.git
diff --git a/lib/PublicInbox/HTTPD.pm b/lib/PublicInbox/HTTPD.pm
index 38517710..1331a91e 100644
--- a/lib/PublicInbox/HTTPD.pm
+++ b/lib/PublicInbox/HTTPD.pm
@@ -1,4 +1,4 @@
-# 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
@@ -7,8 +7,8 @@ package PublicInbox::HTTPD;
use strict;
use warnings;
use Plack::Util;
-require PublicInbox::HTTPD::Async;
-require PublicInbox::Daemon;
+use PublicInbox::HTTPD::Async;
+use PublicInbox::Daemon;
sub pi_httpd_async { PublicInbox::HTTPD::Async->new(@_) }
@@ -29,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,