Skip to main content

skip to main content

developerWorks  >  Web development  >

Implementing Internet call management

Get to know the server-side technologies behind an online call centre

developerWorks

Return to article.


Listing 2. Apache/SendSessionKey.pm

package Apache::SendSessionKey;
use Apache::Constants qw(:common);
use Apache::Cookie;
use vars qw($r $sessionID);
sub handler {
      my $r = shift;
      $sessionID="";
       my %cookies = Apache::Cookie->fetch;
       $sessionID = exists $cookies{'session_id'} ? $cookies{'session_id'}->value : '';
       if (!$sessionID){
         $sessionID = &GenerateSessionID();
      }
      my $cookie = Apache::Cookie->new($r,
			-name   => 'session_id',
			-value  => $sessionID,
			-domain => $r->hostname,
                        -expires => '+1h');
      $cookie->bake;
      $r->send_http_header('text/html');
      open(FILE, $r->filename) or return 404;
      $r->send_fd(FILE);
      close(FILE);
      return OK;      
}
sub GenerateSessionID {
    return scalar localtime;
}
1;

Return to article.