Masahiro Nagano > Plack-Middleware-Scope-Container > Plack::Middleware::Scope::Container

Download:
Plack-Middleware-Scope-Container-0.04.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.04   Source  

NAME ^

Plack::Middleware::Scope::Container - per-request container

SYNOPSIS ^

  use Plack::Builder;
  
  builder {
      enable "Plack::Middleware::Scope::Container";
      $app
  };
  
  # in your application
  package MyApp;

  use Scope::Container;

  sub getdb {
      if ( my $dbh = scope_container('db') ) {
          return $dbh;
      } else {
          my $dbh = DBI->connect(...);
          scope_container('db', $dbh)
          return $dbh;
      }
  }

  sub app {
    my $env = shift;
    getdb(); # do connect
    getdb(); # from container
    getdb(); # from container
    return [ '200', [] ["OK"]];
    # disconnect from db at end of request
  }

DESCRIPTION ^

Plack::Middleware::Scope::Container and Scope::Container work like mod_perl's pnotes. It gives a per-request container to your application.

AUTHOR ^

Masahiro Nagano <kazeburo {at} gmail.com>

SEE ALSO ^

Scope::Container, Plack::Middleware::Scope::Session

LICENSE ^

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: