I've narrowed the error message to the following function in Net::HTTP::Methods.
This is the code. I've added the $headers variable to keep track of the lines. I'm probably missing something, but this one has me boggled. Why is it dieing. $line_count should only be 4 when it dies.
sub _read_header_lines {
my $self = shift;
my $junk_out = shift;
my @headers;
my $line_count = 0;
my $max_header_lines = ${*$self}{'http_max_header_lines'};
my $headers = '';
while (my $line = my_readline($self)) {
$headers .= "$line_count: $line\n";
if ($line =~ /^(\S+)\s*:\s*(.*)/s) {
push(@headers, $1, $2);
}
elsif (@headers && $line =~ s/^\s+//) {
$headers[-1] .= " " . $line;
}
elsif ($junk_out) {
push(@$junk_out, $line);
}
else {
die "Bad header: '$line'\n";
}
if ($max_header_lines) {
$line_count++;
if ($line_count >= $max_header_lines) {
die "Too many header lines($line_count) (limit is $max_header_
+lines) They are:\n$headers";
}
}
}
return @headers;
}
Error:
Too many header lines(128) (limit is 128) They are:
0: Server: Microsoft-IIS/5.0
1: Date: Thu, 21 Aug 2003 20:55:08 GMT
2: Connection: close
3: Use of uninitialized value in concatenation (.) or string
|