In the "mangle_response" sub the code does this:

require HTML::HeadParser;

my $parser = HTML::HeadParser->new();
$parser->xml_mode(1) if $resp->content_is_xhtml;
$parser->utf8_mode(1) if $] >= 5.008 && $HTML::Parser::VERSION >= 3.40;

$parser->parse( $resp->content );

Shouldn't that code check that the content-type is HTML before attempting
to parse?

For example, this response was causing problems:

Cache-Control: no-store, no-cache, must-revalidate
Content-Length: 24043
Content-Type: audio/mp4a-latm
Expires: Wed, 31 Dec 1969 23:59:59 GMT
Content-Disposition: attachment; filename*=UTF-8''trumpet.m4a

(Warnings are fatal): Parsing of undecoded UTF-32 at
line 314.

Bill Moseley
Searchable archive:
Dev site:

Reply via email to