- warn "default CPE queue ( " . join(",",@{$prop->{default_queue}}) . " )\n" if defined($prop->{default_queue});
+ warn "<<<< $ip START\n$request\n";
+
+ return $sock->connected unless $headers;
+
+ warn "missing $_ header\n" foreach grep { ! defined $headers->{ lc $_ } } ( 'SOAPAction' );
+
+ my $body;
+ if ( my $len = $headers->{'content-length'} ) {
+ read( $sock, $body, $len );
+ } elsif ( $headers->{'transfer-encoding'} =~ m/^chunked/i ) {
+ while ( my $len = <$sock> ) {
+ $len =~ s/[\r\n]+$//;
+ $len = hex($len);
+ last if $len == 0;
+ read( $sock, my $chunk, $len );
+ $body .= $chunk;
+ my $padding = <$sock>;
+ }
+ } else {
+ warn "empty request\n";
+ }