The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

PlackX::Engine - simple request wrapper for Plack

SYNOPSIS

* case1: as standalone

  use PlackX::Engine;
  use Plack::Response;

  my $request_handler = sub {
      my $req = shift;
      my $res = Plack::Response->new;
      $res->code(200);
      $res->header( 'Content-Type' => 'text/html' );
      $res->body( "Hello World" );
  };
  
  my $engine = PlackX::Engine->new(
      {
          server => {
              module => 'ServerSimple',
              args   => {
                  port => 3000,
                  host => 'localhost',
              },
          },
          request_handler => $request_handler,
          middlewares => [
              { module => "Plack::Middleware::AccessLog::Timed" },
              { module => "Plack::Middleware::Static" }
          ],
          request_class => 'Plack::Request', # optional
      }
  );
 
  $engine->run;

* case2: as psgi handler builder just create engine and return psgi_handler in example.psgi file

  use PlackX::Engine;
  use Plack::Response;

  my $request_handler = sub {
      my $req = shift;
      my $res = Plack::Response->new;
      $res->code(200);
      $res->header( 'Content-Type' => 'text/html' );
      $res->body( "Hello World" );
  };
  
  my $engine = PlackX::Engine->new(
      {
          request_handler => $request_handler,
          middlewares => [
              { module => "Plack::Middleware::AccessLog::Timed" },
              { module => "Plack::Middleware::Static" }
          ],
      }
  );
  my $psgi_handler = $engine->psgi_handler;

run your request handler with psgi

  plackup -app example.psgi

DESCRIPTION

PlackX::Engine is the simple request wrapper for Plack. You want to wrap psgi env with request and response if you make application with Plack. You don't need to wrap psgi env with the request and finaize response if you use this module.

SOURCE AVAILABILITY

This source is in Github:

  http://github.com/dann/p5-plackx-engine

AUTHOR

Takatoshi Kitano <kitano.tk@gmail.com>

SEE ALSO

LICENSE

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