App-Twitch
view release on metacpan or search on metacpan
lib/App/Twitch.pm view on Meta::CPAN
use Encode;
require Encode::Detect;
event new_content => sub {
my ( $self, $request_packet, $response_packet ) = @_[ OBJECT, ARG0..$#_ ];
my $event = $request_packet->[1];
my $response = $response_packet->[0];
eval {
if ($response->code == 200) {
my $extractor = HTML::ExtractContent->new;
my $content = $response->decoded_content;
my $title = $event->{entry}->title;
if (!utf8::is_utf8($content)) {
$self->logger->debug($self->logger_prefix.'{'.$event->{run_id}.'} No utf8, trying recode content');
$content = decode("Detect", $content);
}
if (utf8::is_utf8($content)) {
$extractor->extract($content);
my $extracted_text = $extractor->as_text;
$self->logger->debug($self->logger_prefix.'{'.$event->{run_id}.'} Extracted content with '.length($extracted_text).' chars');
$event->{content} = $extracted_text;
( run in 0.609 second using v1.01-cache-2.11-cpan-26ccb49234f )