150 |
|
|
151 |
my $response = CWMP::Response->new({ debug => $self->debug }); |
my $response = CWMP::Response->new({ debug => $self->debug }); |
152 |
|
|
153 |
$sock->send( |
$sock->send(join("", |
154 |
$self->status(200), |
$self->status(200,'OK'), |
155 |
$self->content_type('text/xml; charset="utf-8"'), |
$self->content_type('text/xml; charset="utf-8"'), |
156 |
"Server: AcmeCWMP/42\r\n", |
"Server: AcmeCWMP/42\r\n", |
157 |
"SOAPServer: AcmeCWMP/42\r\n" |
"SOAPServer: AcmeCWMP/42\r\n" |
158 |
); |
)); |
159 |
|
|
160 |
$sock->send( "Set-Cookie: ID=" , $state->{ID}, "; path=/\r\n" ) if ( $state->{ID} ); |
$sock->send( "Set-Cookie: ID=" . $state->{ID} . "; path=/\r\n" ) if ( $state->{ID} ); |
161 |
|
|
162 |
my $xml = ''; |
my $xml = ''; |
163 |
|
|
173 |
warn ">>> empty response\n"; |
warn ">>> empty response\n"; |
174 |
} |
} |
175 |
|
|
176 |
$sock->send( "Content-length: ", length( $xml ), "\r\n\r\n" ); |
$sock->send( "Content-Length: " . length( $xml ) . "\r\n\r\n" ); |
177 |
$sock->send( "$xml\r\n" ) or die "can't send response"; |
$sock->send( "$xml\r\n\r\n" ) or die "can't send response"; |
178 |
|
|
179 |
warn "### request over"; |
warn "### request over"; |
180 |
|
|
215 |
|
|
216 |
sub error{ |
sub error{ |
217 |
my ($self, $number, $msg) = @_; |
my ($self, $number, $msg) = @_; |
218 |
$self->sock->send( $self->status($number, $msg), "\r\n" ); |
$self->sock->send( $self->status($number, $msg) . "\r\n" ); |
219 |
warn "Error - $number - $msg\n"; |
warn "Error - $number - $msg\n"; |
220 |
} |
} |
221 |
|
|
230 |
my $self = shift; |
my $self = shift; |
231 |
my $number = shift || 200; |
my $number = shift || 200; |
232 |
return if ! delete $self->{needs_header}; |
return if ! delete $self->{needs_header}; |
233 |
$self->sock->send("HTTP/1.0 $number\r\n"); |
$self->sock->send("HTTP/1.1 $number\r\n"); |
234 |
return 1; |
return 1; |
235 |
} |
} |
236 |
|
|