X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FMboxGz.pm;h=3ed33867a1a84de1c2954d906aa620cfb6e7b647;hb=23af251dd607c4e75ab1e68063f2c885c48cc035;hp=fdd16f68e35f91c44131b65de786f8f1037a2a92;hpb=20607bd628f4f8ea985661a8ce123ea482058144;p=public-inbox.git diff --git a/lib/PublicInbox/MboxGz.pm b/lib/PublicInbox/MboxGz.pm index fdd16f68..3ed33867 100644 --- a/lib/PublicInbox/MboxGz.pm +++ b/lib/PublicInbox/MboxGz.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2015-2020 all contributors +# Copyright (C) 2015-2021 all contributors # License: AGPL-3.0+ package PublicInbox::MboxGz; use strict; @@ -22,16 +22,14 @@ sub async_next ($) { sub mbox_gz { my ($self, $cb, $fn) = @_; $self->{cb} = $cb; - $self->{base_url} = $self->{-inbox}->base_url($self->{env}); + $self->{base_url} = $self->{ibx}->base_url($self->{env}); $self->{gz} = PublicInbox::GzipFilter::gzip_or_die(); - $fn = to_filename($fn // 'no-subject'); - $fn = 'no-subject' if $fn eq ''; + $fn = to_filename($fn // '') // 'no-subject'; # http://www.iana.org/assignments/media-types/application/gzip bless $self, __PACKAGE__; my $res_hdr = [ 'Content-Type' => 'application/gzip', 'Content-Disposition' => "inline; filename=$fn.mbox.gz" ]; - $self->psgi_response(200, $res_hdr, \&async_next, - \&PublicInbox::Mbox::async_eml); + $self->psgi_response(200, $res_hdr); } # called by Plack::Util::foreach or similar (generic PSGI) @@ -39,8 +37,8 @@ sub getline { my ($self) = @_; my $cb = $self->{cb} or return; while (my $smsg = $cb->($self)) { - my $eml = $self->{-inbox}->smsg_eml($smsg) or next; - $self->zmore(msg_hdr($self, $eml, $smsg->{mid})); + my $eml = $self->{ibx}->smsg_eml($smsg) or next; + $self->zmore(msg_hdr($self, $eml)); return $self->translate(msg_body($eml)); } # signal that we're done and can return undef next call: @@ -48,4 +46,6 @@ sub getline { $self->zflush; } +no warnings 'once'; +*async_eml = \&PublicInbox::Mbox::async_eml; 1;