NetReader->add_url supports URI-like objects, now.  We'll be
relying on the canonicalization for LeiSavedSearch.
---
 lib/PublicInbox/LeiToMail.pm | 12 +++++++-----
 1 file 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 {
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to