From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS30633 207.244.64.0/18 X-Spam-Status: No, score=-0.7 required=3.0 tests=BAYES_00,RCVD_IN_XBL, RDNS_NONE,SPF_FAIL,SPF_HELO_FAIL shortcircuit=no autolearn=no version=3.3.2 Received: from 80x24.org (unknown [207.244.70.35]) by dcvr.yhbt.net (Postfix) with ESMTP id 43EAC63382E for ; Tue, 3 May 2016 02:52:25 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] http: move empty string check into write callback Date: Tue, 3 May 2016 02:52:23 +0000 Message-Id: <20160503025223.15330-1-e@80x24.org> List-Id: This empty string check is for middlewares such as Deflater which may write empty strings, not for direct real callers of Danga::Socket who (presumably) know what they're doing. --- lib/PublicInbox/HTTP.pm | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/lib/PublicInbox/HTTP.pm b/lib/PublicInbox/HTTP.pm index 3286e79..bbcb089 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) = @_; -- EW