App-DubiousHTTP
view release on metacpan or search on metacpan
lib/App/DubiousHTTP/Tests/Chunked.pm view on Meta::CPAN
my $junk = $1 // 'x';
$junk =~ s{\\([0-7]{3})}{ chr(oct($1)) }eg;
$hdr .= "Transfer-Encoding: chunked\r\nConnection: close\r\n";
$chunkmod{'junk-after-chunk'} = $junk;
} elsif ( m{^size([+-])(\d+)$}) {
$hdr .= "Transfer-Encoding: chunked\r\nConnection: close\r\n";
$chunkmod{'size-adjust'} = int("$1$2");
} elsif ( m{^(chunk-ext-|nofinal$|eof-inchunk$)} ) {
$hdr .= "Transfer-Encoding: chunked\r\nConnection: close\r\n";
$chunkmod{$_} = 1;
} elsif ( my ($eol) = m{^chunk-((?:lf|cr)+)$} ) {
$hdr .= "Transfer-Encoding: chunked\r\nConnection: close\r\n";
$eol =~s{cr}{\r}g;
$eol =~s{lf}{\n}g;
$chunkmod{lineend} = $eol;
} elsif (m{^(32|64)-size\z}) {
my $o = ($1 == 64) ? 'ffffffff':'';
$sizefmt = sub { sprintf("-$o%08x", 1+(0xffffffff & ~shift())) };
$hdr .= "Transfer-Encoding: chunked\r\nConnection: close\r\n";
} elsif ( m{^(-|space|cr|lf|tab|x|\\[0-7]{3})*(0*)(uc)?size(-|space|cr|lf|tab|x|\\[0-7]{3})*$}) {
$hdr .= "Transfer-Encoding: chunked\r\nConnection: close\r\n";
@chunks = ( $data =~m{(.{1,15})}smg,'') if ! @chunks;
s{ucsize}{%X};
s{size}{%x};
s{\\r}{\r}g;
( run in 0.487 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )