about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/HTTP.pm11
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/PublicInbox/HTTP.pm b/lib/PublicInbox/HTTP.pm
index 3286e79c..bbcb0898 100644
--- a/lib/PublicInbox/HTTP.pm
+++ b/lib/PublicInbox/HTTP.pm
@@ -189,7 +189,9 @@ sub response_header_write {
 sub response_write {
         my ($self, $env, $res) = @_;
         my $alive = response_header_write($self, $env, $res);
-        my $write = sub { $self->write($_[0]) };
+
+        # middlewares such as Deflater may write empty strings
+        my $write = sub { $self->write($_[0]) if $_[0] ne '' };
         my $close = sub {
                 if ($alive) {
                         $self->event_write; # watch for readability if done
@@ -390,13 +392,6 @@ sub close {
         $self->SUPER::close(@_);
 }
 
-sub write ($$) : method {
-        my PublicInbox::HTTP $self = $_[0];
-        return 1 if (defined($_[1]) && ref($_[1]) eq '' && $_[1] eq '');
-
-        $self->SUPER::write($_[1]);
-}
-
 # for graceful shutdown in PublicInbox::Daemon:
 sub busy () {
         my ($self) = @_;