AnyEvent-Twitter-Stream
view release on metacpan or search on metacpan
MANIFEST
META.json
META.yml
README
cpanfile
dist.ini
eg/track.pl
lib/AnyEvent/Twitter/Stream.pm
t/00_compile.t
t/author-pod-syntax.t
t/streaming.t
t/timeout.t
xt/perlcritic.t
xt/pod.t
xt/podspell.t
xt/synopsis.t
{
"abstract" : "Receive Twitter streaming API in an event loop",
"author" : [
"Tatsuhiko Miyagawa <miyagawa@bulknews.net>"
],
"dynamic_config" : 0,
"generated_by" : "Dist::Milla version v1.0.16, Dist::Zilla version 6.006, CPAN::Meta::Converter version 2.150005",
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
---
abstract: 'Receive Twitter streaming API in an event loop'
author:
- 'Tatsuhiko Miyagawa <miyagawa@bulknews.net>'
build_requires:
Test::More: '0'
Test::Requires: '0'
Test::TCP: '0'
configure_requires:
Module::Build::Tiny: '0.034'
dynamic_config: 0
generated_by: 'Dist::Milla version v1.0.16, Dist::Zilla version 6.006, CPAN::Meta::Converter version 2.150005'
NAME
AnyEvent::Twitter::Stream - Receive Twitter streaming API in an event
loop
SYNOPSIS
use AnyEvent::Twitter::Stream;
my $done = AE::cv;
# receive updates from @following_ids
my $listener = AnyEvent::Twitter::Stream->new(
method => "filter",
track => "...",
on_tweet => sub { ... },
);
$done->recv;
DESCRIPTION
AnyEvent::Twitter::Stream is an AnyEvent user to receive Twitter
streaming API, available at http://dev.twitter.com/pages/streaming_api
and http://dev.twitter.com/pages/user_streams.
See "track.pl" in eg for more client code example.
METHODS
my $streamer = AnyEvent::Twitter::Stream->new(%args);
username password
lib/AnyEvent/Twitter/Stream.pm view on Meta::CPAN
=encoding utf-8
=for stopwords
API AnyEvent
=for test_synopsis
my($user, $password, @following_ids, $consumer_key, $consumer_secret, $token, $token_secret);
=head1 NAME
AnyEvent::Twitter::Stream - Receive Twitter streaming API in an event loop
=head1 SYNOPSIS
use AnyEvent::Twitter::Stream;
my $done = AE::cv;
# receive updates from @following_ids
my $listener = AnyEvent::Twitter::Stream->new(
username => $user,
lib/AnyEvent/Twitter/Stream.pm view on Meta::CPAN
token_secret => $token_secret,
method => "filter",
track => "...",
on_tweet => sub { ... },
);
$done->recv;
=head1 DESCRIPTION
AnyEvent::Twitter::Stream is an AnyEvent user to receive Twitter streaming
API, available at L<http://dev.twitter.com/pages/streaming_api> and
L<http://dev.twitter.com/pages/user_streams>.
See L<eg/track.pl> for more client code example.
=head1 METHODS
=head2 my $streamer = AnyEvent::Twitter::Stream->new(%args);
=over 4
t/streaming.t view on Meta::CPAN
is $event, 0, 'got no event';
is($received, $count_max + 1, "received");
}
is $destroyed, 1, 'destroyed';
}
},
server => sub {
my $port = shift;
run_streaming_server($port, $enable_chunked);
},
);
}
done_testing();
sub run_streaming_server {
my ($port, $enable_chunked) = @_;
my $streaming = sub {
my $env = shift;
my $req = Plack::Request->new($env);
return sub {
my $respond = shift;
my $writer = $respond->([200, [
'Content-Type' => 'application/json',
'Server' => 'Jetty(6.1.17)',
]]);
t/streaming.t view on Meta::CPAN
};
my $app = builder {
enable 'Auth::Basic', realm => 'Firehose', authenticator => sub {
my ($user, $pass) = @_;
return $user eq 'test' && $pass eq 's3cr3t';
};
enable 'Chunked' if $enable_chunked;
mount '/1.1/statuses/' => $streaming;
mount '/' => $user_stream;
};
my $server = Plack::Handler::Twiggy->new(
host => '127.0.0.1',
port => $port,
)->run($app);
}
t/timeout.t view on Meta::CPAN
$done->recv;
}
is($destroyed, 1, "$w: destroyed");
is($received, $pattern{$w}, "received");
}
},
server => sub {
my $port = shift;
run_streaming_server($port);
},
);
done_testing();
sub run_streaming_server {
my $port = shift;
my $streaming = sub {
my $env = shift;
my $req = Plack::Request->new($env);
my $track = $req->param('track');
my (undef, $wait_a, $wait_b, $wait_c) = split(/_/, $track);
return sub {
my $respond = shift;
my $count = 0;
t/timeout.t view on Meta::CPAN
};
};
my $app = builder {
enable 'Auth::Basic', realm => 'Firehose', authenticator => sub {
my ($user, $pass) = @_;
return $user eq 'test' && $pass eq 's3cr3t';
};
mount '/1.1/' => $streaming;
};
my $server = Plack::Handler::Twiggy->new(
host => '127.0.0.1',
port => $port,
)->run($app);
}
( run in 0.416 second using v1.01-cache-2.11-cpan-4d50c553e7e )