File Coverage

blib/lib/Apache/Session/File.pm
Criterion Covered Total %
statement 33 33 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod 0 1 0.0
total 42 43 97.6


line stmt bran cond sub pod time code
1             #############################################################################
2             #
3             # Apache::Session::File
4             # Apache persistent user sessions in the filesystem
5             # Copyright(c) 1998, 1999, 2000 Jeffrey William Baker (jwbaker@acm.org)
6             # Distribute under the Perl License
7             #
8             ############################################################################
9              
10             package Apache::Session::File;
11              
12 1     1   5114 use strict;
  1         2  
  1         46  
13 1     1   6 use vars qw(@ISA $VERSION);
  1         2  
  1         75  
14              
15             $VERSION = '1.54';
16             @ISA = qw(Apache::Session);
17              
18 1     1   2656 use Apache::Session;
  1         3  
  1         36  
19 1     1   1907 use Apache::Session::Lock::File;
  1         4  
  1         1349  
20 1     1   5780 use Apache::Session::Store::File;
  1         3  
  1         112  
21 1     1   1675 use Apache::Session::Generate::MD5;
  1         3  
  1         26  
22 1     1   1859 use Apache::Session::Serialize::Storable;
  1         3  
  1         176  
23              
24             sub populate {
25 3     3 0 6 my $self = shift;
26              
27 3         26 $self->{object_store} = Apache::Session::Store::File->new($self);
28 3         25 $self->{lock_manager} = Apache::Session::Lock::File->new($self);
29 3         9 $self->{generate} = \&Apache::Session::Generate::MD5::generate;
30 3         10 $self->{validate} = \&Apache::Session::Generate::MD5::validate;
31 3         9 $self->{serialize} = \&Apache::Session::Serialize::Storable::serialize;
32 3         8 $self->{unserialize} = \&Apache::Session::Serialize::Storable::unserialize;
33              
34 3         8 return $self;
35             }
36              
37             sub DESTROY {
38 3     3   24 my $self = shift;
39            
40 3         12 $self->save;
41 3         14 $self->{object_store}->close;
42 3         19 $self->release_all_locks;
43             }
44              
45             1;
46              
47              
48             =pod
49              
50             =head1 NAME
51              
52             Apache::Session::File - An implementation of Apache::Session
53              
54             =head1 SYNOPSIS
55              
56             use Apache::Session::File;
57              
58             tie %hash, 'Apache::Session::File', $id, {
59             Directory => '/tmp/sessions',
60             LockDirectory => '/var/lock/sessions',
61             };
62              
63             =head1 DESCRIPTION
64              
65             This module is an implementation of Apache::Session. It uses the File backing
66             store and the File locking scheme. You must specify the directory for the
67             object store and the directory for locking in arguments to the constructor. See
68             the example, and the documentation for Apache::Session::Store::File and
69             Apache::Session::Lock::File.
70              
71             =head1 AUTHOR
72              
73             This module was written by Jeffrey William Baker <jwbaker@acm.org>.
74              
75             =head1 SEE ALSO
76              
77             L<Apache::Session::DB_File>, L<Apache::Session::Flex>,
78             L<Apache::Session::MySQL>, L<Apache::Session::Postgres>, L<Apache::Session>