]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/WwwAtomStream.pm
wwwstream: show init + index instructions for -V1, too
[public-inbox.git] / lib / PublicInbox / WwwAtomStream.pm
index 2f9b953b2829cea360ea6627c044a56c89a63739..388def1239f90af5a7758c2bcffe5045114dda64 100644 (file)
@@ -35,7 +35,7 @@ sub async_next ($) {
        warn "E: $@" if $@;
 }
 
-sub async_eml { # ->{async_eml} for async_blob_cb
+sub async_eml { # for async_blob_cb
        my ($ctx, $eml) = @_;
        my $smsg = delete $ctx->{smsg};
        $ctx->{http_out}->write($ctx->translate(feed_entry($ctx, $smsg, $eml)))
@@ -45,7 +45,7 @@ sub response {
        my ($class, $ctx, $code, $cb) = @_;
        my $res_hdr = [ 'Content-Type' => 'application/atom+xml' ];
        $class->new($ctx, $cb);
-       $ctx->psgi_response($code, $res_hdr, \&async_next, \&async_eml);
+       $ctx->psgi_response($code, $res_hdr);
 }
 
 # called once for each message by PSGI server
@@ -116,9 +116,8 @@ sub atom_header {
 # returns undef or string
 sub feed_entry {
        my ($ctx, $smsg, $eml) = @_;
-       my $hdr = $eml->header_obj;
        my $mid = $smsg->{mid};
-       my $irt = PublicInbox::View::in_reply_to($hdr);
+       my $irt = PublicInbox::View::in_reply_to($eml);
        my $uuid = to_uuid($mid);
        my $base = $ctx->{feed_base_url};
        if (defined $irt) {
@@ -130,13 +129,13 @@ sub feed_entry {
                $irt = '';
        }
        my $href = $base . mid_href($mid) . '/';
-       my $updated = feed_updated(msg_timestamp($hdr));
+       my $updated = feed_updated(msg_timestamp($eml));
 
-       my $title = $hdr->header('Subject');
+       my $title = $eml->header('Subject');
        $title = '(no subject)' unless defined $title && $title ne '';
        $title = title_tag($title);
 
-       my $from = $hdr->header('From') // $hdr->header('Sender') //
+       my $from = $eml->header('From') // $eml->header('Sender') //
                $ctx->{-inbox}->{-primary_address};
        my ($email) = PublicInbox::Address::emails($from);
        my $name = ascii_html(join(', ', PublicInbox::Address::names($from)));