AnyEvent-Net-Curl-Queued
view release on metacpan or search on metacpan
use warnings qw(all);
use HTML::LinkExtor;
use Moo;
extends 'AnyEvent::Net::Curl::Queued::Easy';
after finish => sub {
my ($self, $result) = @_;
say $result . "\t" . $self->final_url;
if (
not $self->has_error
and $self->getinfo('content_type') =~ m{^text/html}
) {
my @links;
HTML::LinkExtor->new(sub {
my ($tag, %links) = @_;
push @links,
eg/CrawlApache.pm view on Meta::CPAN
};
},
lazy => 1,
);
has '+use_stats' => (default => sub { 1 });
after finish => sub {
my ($self, $result) = @_;
say $result . "\t" . $self->final_url;
if (
not $self->has_error
and $self->getinfo('content_type') =~ m{^text/html}x
) {
my $res = $self
->scrap
->scrape(
${$self->data},
$self->final_url
eg/Gauge/curl.pm view on Meta::CPAN
use Any::Moose;
with qw(Gauge::Role);
sub run {
my ($self) = @_;
my $curl_queue;
$self->run_forked(sub {
my ($url) = @_;
$curl_queue->say("url = \"$url\"");
$curl_queue->say("output = \"/dev/null\"");
} => sub {
$curl_queue = File::Temp->new;
} => sub {
system qw(curl -s -K), $curl_queue->filename;
});
return;
}
1;
eg/Gauge/lftp.pm view on Meta::CPAN
use utf8;
use warnings qw(all);
use Any::Moose;
with qw(Gauge::Role);
sub run {
my ($self) = @_;
my $lftp_queue = File::Temp->new;
say $lftp_queue "set cmd:queue-parallel " . $self->parallel;
say $lftp_queue "set cmd:verbose no";
say $lftp_queue "set net:connection-limit 0";
say $lftp_queue "set xfer:clobber 1";
for my $url (@{$self->queue}) {
$lftp_queue->say("queue get \"$url\" -o \"/dev/null\"");
}
say $lftp_queue "wait all";
system qw(lftp -f), $lftp_queue->filename;
return;
}
1;
eg/Gauge/wget.pm view on Meta::CPAN
use warnings qw(all);
use Any::Moose;
with qw(Gauge::Role);
sub run {
my ($self) = @_;
my $wget_queue;
$self->run_forked(sub {
$wget_queue->say(shift);
} => sub {
$wget_queue = File::Temp->new;
} => sub {
system qw(wget -q -O /dev/null -i), $wget_queue->filename;
});
return;
}
1;
eg/simple.pl view on Meta::CPAN
http://www.cpan.org/modules/by-category/21_File_Handle_Input_Output/
http://www.cpan.org/modules/by-category/22_Microsoft_Windows_Modules/
http://www.cpan.org/modules/by-category/23_Miscellaneous_Modules/
http://www.cpan.org/modules/by-category/24_Commercial_Software_Interfaces/
http://www.cpan.org/modules/by-category/25_Bundles/
http://www.cpan.org/modules/by-category/26_Documentation/
http://www.cpan.org/modules/by-category/27_Pragma/
http://www.cpan.org/modules/by-category/28_Perl6/
http://www.cpan.org/modules/by-category/99_Not_In_Modulelist/
]] => sub {
say $_[0]->final_url;
say ${$_[0]->header};
},
)->wait;
inc/Test/HTTP/AnyEvent/Server.pm view on Meta::CPAN
use AnyEvent::HTTP;
use Test::HTTP::AnyEvent::Server;
my $server = Test::HTTP::AnyEvent::Server->new;
my $cv = AE::cv;
$cv->begin;
http_request GET => $server->uri . q(echo/head), sub {
my ($body, $hdr) = @_;
say $body;
$cv->end;
};
$cv->wait;
=head1 DESCRIPTION
This package provides a simple B<NON>-forking HTTP server which can be used for testing HTTP clients.
=head1 ATTRIBUTES
lib/AnyEvent/Net/Curl/Queued.pm view on Meta::CPAN
use warnings qw(all);
use HTML::LinkExtor;
use Moo;
extends 'AnyEvent::Net::Curl::Queued::Easy';
after finish => sub {
my ($self, $result) = @_;
say $result . "\t" . $self->final_url;
if (
not $self->has_error
and $self->getinfo('content_type') =~ m{^text/html}
) {
my @links;
HTML::LinkExtor->new(sub {
my ($tag, %links) = @_;
push @links,
lib/YADA.pm view on Meta::CPAN
YADA->new->append(
[qw[
http://www.cpan.org/modules/by-category/02_Language_Extensions/
http://www.cpan.org/modules/by-category/02_Perl_Core_Modules/
http://www.cpan.org/modules/by-category/03_Development_Support/
...
http://www.cpan.org/modules/by-category/27_Pragma/
http://www.cpan.org/modules/by-category/28_Perl6/
http://www.cpan.org/modules/by-category/99_Not_In_Modulelist/
]] => sub {
say $_[0]->final_url;
say ${$_[0]->header};
},
)->wait;
=head1 WARNING: GONE MOO!
This module isn't using L<Any::Moose> anymore due to the announced deprecation status of that module.
The switch to the L<Moo> is known to break modules that do C<extend 'AnyEvent::Net::Curl::Queued::Easy'> / C<extend 'YADA::Worker'>!
To keep the compatibility, make sure that you are using L<MooseX::NonMoose>:
package YourSubclassingModule;
lib/YADA.pm view on Meta::CPAN
use common::sense;
use AnyEvent::Net::Curl::Queued;
use AnyEvent::Net::Curl::Queued::Easy;
my $q = AnyEvent::Net::Curl::Queued->new;
$q->append(sub {
AnyEvent::Net::Curl::Queued::Easy->new({
initial_url => $_,
on_finish => sub {
say $_[0]->final_url;
say ${$_[0]->header};
},
})
}) for qw(
http://www.cpan.org/modules/by-category/02_Language_Extensions/
http://www.cpan.org/modules/by-category/02_Perl_Core_Modules/
http://www.cpan.org/modules/by-category/03_Development_Support/
...
http://www.cpan.org/modules/by-category/27_Pragma/
http://www.cpan.org/modules/by-category/28_Perl6/
http://www.cpan.org/modules/by-category/99_Not_In_Modulelist/
( run in 0.966 second using v1.01-cache-2.11-cpan-483215c6ad5 )