diff options
author | Eric Wong <e@yhbt.net> | 2020-05-07 21:05:44 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-05-09 08:59:10 +0000 |
commit | 8d1b87f498ea47bb752ea24900372df192d322fb (patch) | |
tree | 3d14a85ee2e353544e5d2a7cd59c0e071065bf76 /lib/PublicInbox/WwwAttach.pm | |
parent | dc7dc9ef49e3d396d2b47fa2befd1718aff45f0d (diff) | |
download | public-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.pm | 4 |
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 } |