]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Mbox.pm
No ext_urls
[public-inbox.git] / lib / PublicInbox / Mbox.pm
index e65f38f07351e765e13ddd37258f737681518706..18db9d38e12bdae939ce532c200eaffa5e73a4df 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2015-2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 
 # Streaming interface for mboxrd HTTP responses
@@ -19,12 +19,10 @@ sub getline {
        my $smsg = $ctx->{smsg} or return;
        my $ibx = $ctx->{ibx};
        my $eml = delete($ctx->{eml}) // $ibx->smsg_eml($smsg) // return;
-       my $n = $ctx->{smsg} = $ibx->over->next_by_mid(@{$ctx->{next_arg}});
-       $ctx->zmore(msg_hdr($ctx, $eml));
-       if ($n) {
-               $ctx->translate(msg_body($eml));
+       if (($ctx->{smsg} = $ibx->over->next_by_mid(@{$ctx->{next_arg}}))) {
+               $ctx->translate(msg_hdr($ctx, $eml), msg_body($eml));
        } else { # last message
-               $ctx->zflush(msg_body($eml));
+               $ctx->zflush(msg_hdr($ctx, $eml), msg_body($eml));
        }
 }
 
@@ -45,8 +43,7 @@ sub async_eml { # for async_blob_cb
        # next message
        $ctx->{smsg} = $ctx->{ibx}->over->next_by_mid(@{$ctx->{next_arg}});
        local $ctx->{eml} = $eml; # for mbox_hdr
-       $ctx->zmore(msg_hdr($ctx, $eml));
-       $ctx->write(msg_body($eml));
+       $ctx->write(msg_hdr($ctx, $eml), msg_body($eml));
 }
 
 sub mbox_hdr ($) {
@@ -82,7 +79,6 @@ sub no_over_raw ($) {
 # /$INBOX/$MESSAGE_ID/raw
 sub emit_raw {
        my ($ctx) = @_;
-       $ctx->{base_url} = $ctx->{ibx}->base_url($ctx->{env});
        my $over = $ctx->{ibx}->over or return no_over_raw($ctx);
        my ($id, $prev);
        my $mip = $ctx->{next_arg} = [ $ctx->{mid}, \$id, \$prev ];