about summary refs log tree commit homepage
path: root/lib/PublicInbox/WwwAttach.pm
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-05-07 21:05:44 +0000
committerEric Wong <e@yhbt.net>2020-05-09 08:59:10 +0000
commit8d1b87f498ea47bb752ea24900372df192d322fb (patch)
tree3d14a85ee2e353544e5d2a7cd59c0e071065bf76 /lib/PublicInbox/WwwAttach.pm
parentdc7dc9ef49e3d396d2b47fa2befd1718aff45f0d (diff)
downloadpublic-inbox-8d1b87f498ea47bb752ea24900372df192d322fb.tar.gz
msg_iter: make ->each_part method for PublicInbox::MIME
The reliance on Email::MIME->subparts is a tad inefficient with
a work-in-progress module to replace Email::MIME.  So move
towards using ->each_part as a class-specific iterator which can
take advantage of more class-specific optimizations in the
yet-to-be-revealed PublicInbox::Eml and PublicInbox::Gmime
classes.

The msg_iter() sub remains for compatibility with existing
3rd-party scripts/modules which use our small public Perl API
and Email::MIME.
Diffstat (limited to 'lib/PublicInbox/WwwAttach.pm')
-rw-r--r--lib/PublicInbox/WwwAttach.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/WwwAttach.pm b/lib/PublicInbox/WwwAttach.pm
index f795618e..774b38ae 100644
--- a/lib/PublicInbox/WwwAttach.pm
+++ b/lib/PublicInbox/WwwAttach.pm
@@ -10,7 +10,7 @@ use Email::MIME::ContentType qw(parse_content_type);
 use PublicInbox::MIME;
 use PublicInbox::MsgIter;
 
-sub get_attach_i { # msg_iter callback
+sub get_attach_i { # ->each_part callback
         my ($part, $depth, @idx) = @{$_[0]};
         my $res = $_[1];
         return if join('.', @idx) ne $res->[3]; # $idx
@@ -40,7 +40,7 @@ sub get_attach ($$$) {
         my $mime = $ctx->{-inbox}->msg_by_mid($ctx->{mid}) or return $res;
         $mime = PublicInbox::MIME->new($mime);
         $res->[3] = $idx;
-        msg_iter($mime, \&get_attach_i, $res, 1);
+        $mime->each_part(\&get_attach_i, $res, 1);
         pop @$res; # cleanup before letting PSGI server see it
         $res
 }