AnyEvent-FTP
view release on metacpan or search on metacpan
lib/AnyEvent/FTP/Client/Transfer/Active.pm view on Meta::CPAN
undef $guard; # close to additional connections.
$self->xfer($fh,$local);
}, sub {
my($fh, $host, $port) = @_;
my $ip_and_port = join(',', split(/\./, $self->client->{my_ip}), $port >> 8, $port & 0xff);
my $w;
$w = AnyEvent->timer(after => 0, cb => sub {
$self->push_command(
[ PORT => $ip_and_port ],
($self->restart > 0 ? ([ REST => $self->restart ]) : ()),
$self->command,
);
undef $w;
});
};
$self->cv->cb(sub {
lib/AnyEvent/FTP/Server/Role/Auth.pm view on Meta::CPAN
$con->send_response(230 => "User $user logged in");
$self->{authenticated} = 1;
$self->emit(auth => $user);
$self->done;
}
else
{
my $delay = $self->bad_authentication_delay;
if($delay > 0)
{
my $timer;
$timer = AnyEvent->timer( after => 5, cb => sub {
$con->send_response(530 => 'Login incorrect');
$self->done;
undef $timer;
});
}
else
{
$con->send_response(530 => 'Login incorrect');
$self->done;
}
}
}
lib/AnyEvent/FTP/Server/Role/TransferPrep.pm view on Meta::CPAN
# demoting this to a TODO (was a F-I-X-M-E)
# since I can't remember why I thought it needed
# doing. plicease 12-05-2014
$self->done;
}, sub {
my($fh, $host, $port) = @_;
my $ip_and_port = join(',', split(/\./, $con->ip), $port >> 8, $port & 0xff);
my $w;
$w = AnyEvent->timer(after => 0, cb => sub {
$con->send_response(227 => "Entering Passive Mode ($ip_and_port)");
undef $w;
});
};
return;
}
lib/Test/AnyEventFTPServer.pm view on Meta::CPAN
);
has _client => (
is => 'ro',
lazy => 1,
default => sub {
my $self = shift;
require AnyEvent::FTP::Client;
my $client = AnyEvent::FTP::Client->new;
my $cv = AnyEvent->condvar;
my $timer = AnyEvent->timer(
after => 5,
cb => sub { $cv->croak("timeout connecting with ftp client") },
);
if($self->auto_login)
{
$client->connect($self->test_uri)
->cb(sub { $cv->send });
}
else
{
lib/Test/AnyEventFTPServer.pm view on Meta::CPAN
});
}
$server->on_connect(sub {
shift->context->authenticator(sub {
return $_[0] eq $user && $_[1] eq $pass;
});
});
my $cv = AnyEvent->condvar;
my $timer = AnyEvent->timer(
after => 5,
cb => sub { $cv->croak("timeout creating ftp server") },
);
$server->on_bind(sub {
$uri->port(shift);
$cv->send;
});
$server->start;
$cv->recv;
};
lib/Test/AnyEventFTPServer.pm view on Meta::CPAN
sub connect_ftpclient_ok
{
my($self, $message) = @_;
my $client;
eval {
require AnyEvent::FTP::Client;
$client = AnyEvent::FTP::Client->new;
my $cv = AnyEvent->condvar;
my $timer = AnyEvent->timer(
after => 5,
cb => sub { $cv->croak("timeout connecting with ftp client") },
);
if($self->auto_login)
{
$client->connect($self->test_uri)
->cb(sub { $cv->send });
}
else
{
lib/Test/AnyEventFTPServer.pm view on Meta::CPAN
sub global_timeout_ok (;$$)
{
my($timeout, $message) = @_;
$timeout //= 120;
$message //= "global timeout of $timeout seconds";
my $ctx = context();
state $timers = [];
eval {
push @$timers, AnyEvent->timer(
after => $timeout,
cb => sub { $ctx->diag("GLOBAL TIMEOUT"); exit },
);
};
my $error = $@;
my $ok = $error eq '';
$ctx->ok($ok, $message);
$ctx->diag($error) if $error;
t/lib/Test2/Tools/ClientTests.pm view on Meta::CPAN
});
$server->start;
$detect->{ae} = 1;
}
our $anyevent_test_timeout;
sub reset_timeout {
$anyevent_test_timeout = AnyEvent->timer(
after => ($detect->{ae} ? 5 : 15),
cb => sub {
my $ctx = context();
$ctx->bail("TIMEOUT: giving up");
$ctx->release;
}
);
}
sub prep_client
( run in 1.065 second using v1.01-cache-2.11-cpan-49f99fa48dc )