/[cwmp]/google/trunk/lib/CWMP/Session.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /google/trunk/lib/CWMP/Session.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 43 by dpavlin, Tue Jun 19 18:50:28 2007 UTC revision 44 by dpavlin, Tue Jun 19 19:09:16 2007 UTC
# Line 150  sub process_request { Line 150  sub process_request {
150    
151          my $response = CWMP::Response->new({ debug => $self->debug });          my $response = CWMP::Response->new({ debug => $self->debug });
152    
153          $sock->send(join("",          $sock->send(join("\r\n",
154                  $self->status(200,'OK'),                  'HTTP/1.1 200 OK',
155                  $self->content_type('text/xml; charset="utf-8"'),                  'Content-Type: text/xml; charset="utf-8"',
156                  "Server: AcmeCWMP/42\r\n",                  'Server: AcmeCWMP/42',
157                  "SOAPServer: AcmeCWMP/42\r\n"                  'SOAPServer: AcmeCWMP/42',
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} );
# Line 174  sub process_request { Line 174  sub process_request {
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\r\n" ) or die "can't send response";          $sock->send( $xml ) or die "can't send response";
178    
179          warn "### request over";          warn "### request over";
180    
# Line 207  sub header { Line 207  sub header {
207          }          }
208  }  }
209    
210  sub content_type {  sub error {
   my ($self, $type) = @_;  
   $self->http_header;  
   return "Content-type: $type\r\n";  
 }  
   
 sub error{  
211    my ($self, $number, $msg) = @_;    my ($self, $number, $msg) = @_;
212    $self->sock->send( $self->status($number, $msg) . "\r\n" );    $msg ||= 'ERROR';
213      $self->sock->send( "HTTP/1.1 $number $msg\r\n" );
214    warn "Error - $number - $msg\n";    warn "Error - $number - $msg\n";
215  }  }
216    
 sub status {  
   my ($self, $number, $msg) = @_;  
   $msg = '' if ! defined $msg;  
   return if $self->http_header($number);  
   return "Status $number: $msg\r\n";  
 }  
   
 sub http_header {  
   my $self = shift;  
   my $number = shift || 200;  
   return if ! delete $self->{needs_header};  
   $self->sock->send("HTTP/1.1 $number\r\n");  
   return 1;  
 }  
   
217  1;  1;

Legend:
Removed from v.43  
changed lines
  Added in v.44

  ViewVC Help
Powered by ViewVC 1.1.26