diff options
author | Eric Wong <e@80x24.org> | 2021-04-16 16:10:30 -0700 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-04-16 22:24:47 -0400 |
commit | 604fa817dcd5d430931e6cfb921bd62f4cddc345 (patch) | |
tree | ea6d08b0386ec9dc58a13f8952d13003ea022213 /lib | |
parent | 17244996655fcbc47fb54c915360657367366c46 (diff) | |
download | public-inbox-604fa817dcd5d430931e6cfb921bd62f4cddc345.tar.gz |
NetReader->add_url supports URI-like objects, now. We'll be relying on the canonicalization for LeiSavedSearch.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/LeiToMail.pm | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm index 4ebaf8f3..daa8084b 100644 --- a/lib/PublicInbox/LeiToMail.pm +++ b/lib/PublicInbox/LeiToMail.pm @@ -335,14 +335,16 @@ sub new { $self->{base_type} = 'mbox'; } elsif ($fmt =~ /\Aimaps?\z/) { # TODO .onion support require PublicInbox::NetWriter; + require PublicInbox::URIimap; my $net = PublicInbox::NetWriter->new; - $net->add_url($dst); $net->{quiet} = $lei->{opt}->{quiet}; - my $err = $net->errors($dst); + my $uri = PublicInbox::URIimap->new($dst)->canonical; + $net->add_url($uri); + my $err = $net->errors; return $lei->fail($err) if $err; - require PublicInbox::URIimap; # TODO: URI cast early - $self->{uri} = PublicInbox::URIimap->new($dst); - $self->{uri}->mailbox or die "No mailbox: $dst"; + $uri->mailbox or return $lei->fail("No mailbox: $dst"); + $self->{uri} = $uri; + $dst = $lei->{ovv}->{dst} = $$uri; # canonicalized $lei->{net} = $net; $self->{base_type} = 'imap'; } else { |