use AnyEvent::Twitter::Stream; use Encode; my $app = sub { my $env = shift; my $keyword = $env->{PATH_INFO}; $keyword =~ s!^/!!; my $cb = sub { }; # track keywords my $guard = AnyEvent::Twitter::Stream->new( username => $ENV{TWITTER_USERNAME}, password => $ENV{TWITTER_PASSWORD}, method => "filter", track => $keyword || "twitter", on_tweet => sub { $cb->(@_) }, ); return sub { my $respond = shift; my $w = $respond->([ 200, ['Content-Type' => 'text/plain'] ]); $cb = sub { my $tweet = shift; $w->write(Encode::encode_utf8($tweet->{text}) . "\n"); }; }; };