--- google/lib/CWMP/Server.pm 2007/06/19 00:03:56 34 +++ google/lib/CWMP/Server.pm 2007/06/19 00:18:56 35 @@ -10,6 +10,8 @@ / ); use Data::Dump qw/dump/; +use CWMP::Request; +use CWMP::Response; =head1 NAME @@ -34,12 +36,13 @@ if ( $transfer_encoding && $transfer_encoding =~ qr/^chunked/i ) { my $len = 0; + my $hex; do { - $len = ; - $len =~ s/[\n\r]*$//s; - $len = hex( $len ); + $hex = ; # get chunk length + $hex =~ s/[\n\r]*$//s; + $len = hex( $hex ); - #warn "getting chunk of $len bytes\n"; + warn "getting chunk of 0x$hex $len bytes\n" if $self->debug; while( $len > 0 ) { my $line = ; @@ -47,10 +50,10 @@ $len -= length( $line ); } - } while ( $len > 0 ); + } while ( hex( $hex ) != 0 ); } - warn "got ", length($chunk), " bytes\n" if $self->debug; + warn "handler got ", length($chunk), " bytes\n" if $self->debug; my $cgi = new CGI( $chunk ); @@ -86,7 +89,7 @@ } - my $response = CWMP::Server->new({ debug => $self->debug }); + my $response = CWMP::Response->new({ debug => $self->debug }); print "Content-Type: text/xml\r\n\r\n";