Net-Async-IMAP
view release on metacpan or search on metacpan
lib/Net/Async/IMAP/Client.pm view on Meta::CPAN
package Net::Async::IMAP::Client;
{
$Net::Async::IMAP::Client::VERSION = '0.004';
}
use strict;
use warnings;
use parent qw(IO::Async::Stream);
use IO::Socket::SSL qw(SSL_VERIFY_NONE);
use IO::Async::SSL;
use IO::Async::SSLStream;
use Protocol::IMAP::Client;
use curry;
use Future;
# IO::Async::Notifier
sub _init {
my $self = shift;
$self->{protocol} = Protocol::IMAP::Client->new(
lib/Net/Async/IMAP/Client.pm view on Meta::CPAN
my $stream = shift;
$self->protocol->subscribe_to_event(
write => sub {
my ($ev, $data) = @_;
$stream->write($data);
},
starttls => sub {
my ($ev, $data) = @_;
$self->loop->SSL_upgrade(
handle => $self->read_handle,
SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
)->on_done(
$self->curry::on_tls_upgraded
)->on_fail(sub { warn "upgrade failed: @_" });
},
authentication_required => sub {
my ($ev) = @_;
$self->protocol->login(
$self->user,
$self->pass,
);
( run in 0.482 second using v1.01-cache-2.11-cpan-4d50c553e7e )