Subject: | Transfer-encoding header smashing |
in file POE/Component/Client/HTTP.pm there are lines:
-----------------[cut]----------------------------------
460 my $te = $input->header('Transfer-Encoding');
461 if (defined $te) {
462 $filter = POE::Filter::Stackable->new;
463 my @te = split(/\s*,\s*/, lc($te));
464 while (my $encoding = pop @te) {
465 my $fclass = $te_filters{$encoding};
466 last unless (defined $fclass);
467 $filter->push ($fclass->new);
468 }
469 $input->header('Transfer-Encoding', join(', ', @te));
470 }
---------------------[cut]--------------------------------
In loop all elements are popped from @te until it became empty. After it
at line 469 constructed header Transfer-Encoding from empty list (@te always empty because, condition of exiting from loop preceding it is empty @te).
Solution is simple: just replace line 464 with:
464 foreach my $encoding (@te) {