Net-IMP-HTTP
view release on metacpan or search on metacpan
lib/Net/IMP/HTTP.pm view on Meta::CPAN
package Net::IMP::HTTP;
use Net::IMP qw(:DEFAULT IMP_DATA );
use Exporter 'import';
our $VERSION = '0.525';
our @EXPORT;
# create and export NET_IMP_HTTP* constants
push @EXPORT, IMP_DATA( 'http',
'header' => +1,
'body' => -2, # message body: streaming
'chkhdr' => +3,
'chktrailer' => +4,
'data' => -5, # encapsulated data (websocket etc): streaming
'junk' => -6, # junk data (leading empty lines..): streaming
);
push @EXPORT, IMP_DATA( 'httprq[http+10]',
'header' => +1,
'content' => -2, # unchunked, uncompressed content: streaming
'data' => -3, # encapsulated data (websocket etc): streaming
);
__END__
=head1 NAME
Net::IMP::HTTP - interface for HTTP specific L<Net::IMP> plugins
=head1 DESCRIPTION
t/02_http.t view on Meta::CPAN
my @stream_data;
for (@typed_data) {
my ($dir,$type,$data) = @$_;
if (@stream_data and $stream_data[-1][0] == $dir) {
$stream_data[-1][2] .= $data
} else {
push @stream_data, [ $dir,IMP_DATA_STREAM,$data ]
}
}
# chunkify streaming data
for ( @typed_data, @stream_data ) {
my ($dir,$type,$data) = @$_;
$type < 0 or next; # typed packet
my @chunks = $data =~m{(.{1,9})}sg;
@chunks = '' if ! @chunks and $type != IMP_DATA_STREAM; # preserve typed ''
@$_ = ( $dir,$type,@chunks );
}
# add FIN to stream
push @stream_data,[ 0,IMP_DATA_STREAM,'' ];
push @stream_data,[ 1,IMP_DATA_STREAM,'' ];
t/03_httprq.t view on Meta::CPAN
my @stream_data;
for (@typed_data) {
my ($dir,$type,$data) = @$_;
if (@stream_data and $stream_data[-1][0] == $dir) {
$stream_data[-1][2] .= $data
} else {
push @stream_data, [ $dir,IMP_DATA_STREAM,$data ]
}
}
# chunkify streaming data
for ( @typed_data, @stream_data ) {
my ($dir,$type,$data) = @$_;
$type < 0 or next; # typed packet
my @chunks = $data =~m{(.{1,9})}sg;
@chunks = '' if ! @chunks and $type != IMP_DATA_STREAM; # preserve typed ''
@$_ = ( $dir,$type,@chunks );
}
# add FIN to stream
push @stream_data,[ 0,IMP_DATA_STREAM,'' ];
push @stream_data,[ 1,IMP_DATA_STREAM,'' ];
t/04_addxfoo.t view on Meta::CPAN
my @stream_data;
for (@http_data) {
my ($dir,$type,$data) = @$_;
if (@stream_data and $stream_data[-1][0] == $dir) {
$stream_data[-1][2] .= $data
} else {
push @stream_data, [ $dir,IMP_DATA_STREAM,$data ]
}
}
# chunkify streaming data
for ( @http_data, @httprq_data, @stream_data ) {
my ($dir,$type,$data) = @$_;
$type < 0 or next; # typed packet
my @chunks = $data =~m{(.{1,9})}sg;
@chunks = '' if ! @chunks and $type != IMP_DATA_STREAM; # preserve typed ''
@$_ = ( $dir,$type,@chunks );
}
# add FIN to stream
push @stream_data,[ 0,IMP_DATA_STREAM,'' ];
push @stream_data,[ 1,IMP_DATA_STREAM,'' ];
t/05_logformdata.t view on Meta::CPAN
my @stream_data;
for (@http_data) {
my ($dir,$type,$data) = @$_;
if (@stream_data and $stream_data[-1][0] == $dir) {
$stream_data[-1][2] .= $data
} else {
push @stream_data, [ $dir,IMP_DATA_STREAM,$data ]
}
}
# chunkify streaming data
for ( @http_data, @httprq_data, @stream_data ) {
my ($dir,$type,$data) = @$_;
$type < 0 or next; # typed packet
my @chunks = $data =~m{(.{1,9})}sg;
@chunks = '' if ! @chunks and $type != IMP_DATA_STREAM; # preserve typed ''
@$_ = ( $dir,$type,@chunks );
}
# add FIN to stream
push @stream_data,[ 0,IMP_DATA_STREAM,'' ];
push @stream_data,[ 1,IMP_DATA_STREAM,'' ];
( run in 0.314 second using v1.01-cache-2.11-cpan-05444aca049 )