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 )