Data-Decode
view release on metacpan or search on metacpan
lib/Data/Decode/Encode/HTTP/Response/Parser.pm view on Meta::CPAN
$self->eof;
delete $self->{encodings};
return wantarray ? @encodings : \@encodings;
}
sub _parse_meta
{
my ($self, $tag, $attrs) = @_;
return unless $tag eq 'meta';
return unless $attrs->{'http-equiv'} &&
lc($attrs->{'http-equiv'}) eq 'content-type';
my $content = $attrs->{content};
if (defined $content && $content =~ /charset=([A-Za-z0-9_\-]+)/i) {
push @{ $self->{encodings} }, $1;
}
}
1;
__END__
t/encode/03_http_response.t view on Meta::CPAN
use HTTP::Response;
my $decoder = Data::Decode->new(
strategy => Data::Decode::Encode::HTTP::Response->new
);
ok($decoder);
isa_ok($decoder, "Data::Decode");
isa_ok($decoder->decoder, "Data::Decode::Encode::HTTP::Response");
# Make sure that we can decode everything that has charset specs in
# the meta tags, and from content-type
my $response;
foreach my $encoding qw(euc-jp shiftjis 7bit-jis utf8) {
my $file = File::Spec->catfile("t", "encode", "data", "$encoding.txt");
open(DATAFILE, $file) or die "Could not open file $file: $!";
my $string = do { local $/ = undef; <DATAFILE> };
close(DATAFILE);
$response = HTTP::Response->new(
200,
"OK",
( run in 0.560 second using v1.01-cache-2.11-cpan-524268b4103 )