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 )