Apache::Singleton::Request - One instance per One Request


Apache-Singleton documentation Contained in the Apache-Singleton distribution.

Index


Code Index:

NAME

Top

Apache::Singleton::Request - One instance per One Request

VERSION

Top

version 0.13

SYNOPSIS

Top

  package Printer;
  use base qw(Apache::Singleton::Request);

DESCRIPTION

Top

See Apache::Singleton.

SEE ALSO

Top

Apache::Singleton

SOURCE

Top

The development version is on github at http://github.com/mschout/apache-singleton and may be cloned from git://github.com/mschout/apache-singleton.git

BUGS

Top

Please report any bugs or feature requests to bug-apache-singleton@rt.cpan.org or through the web interface at: http://rt.cpan.org/Public/Dist/Display.html?Name=Apache-Singleton

AUTHOR

Top

Michael Schout <mschout@cpan.org>

COPYRIGHT AND LICENSE

Top


Apache-Singleton documentation Contained in the Apache-Singleton distribution.

package Apache::Singleton::Request;
BEGIN {
  $Apache::Singleton::Request::VERSION = '0.13';
}

# ABSTRACT: One instance per One Request

use strict;
use base 'Apache::Singleton';

BEGIN {
    use constant MP2 => $mod_perl::VERSION >= 1.99 ? 1 : 0;

    if (MP2) {
        require Apache2::RequestUtil;
    }
    else {
        require Apache;
    }
}

sub _get_instance {
    my $class = shift;
    my $r = MP2 ? Apache2::RequestUtil->request : Apache->request;
    my $key = "apache_singleton_$class";
    return $r->pnotes($key);
}

sub _set_instance {
    my($class, $instance) = @_;
    my $r = MP2 ? Apache2::RequestUtil->request : Apache->request;
    my $key = "apache_singleton_$class";
    $r->pnotes($key => $instance);
}

1;




__END__