]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/HTTPD.pm
treewide: "require" + "use" cleanup and docs
[public-inbox.git] / lib / PublicInbox / HTTPD.pm
index 38517710a414d00ee36d21b069de90953ffa4b08..1331a91ee9bf9c5f5f190f6be70ee6b77c7235d0 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2016-2018 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2019 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 
 # 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,