GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Plack::Handler(3) User Contributed Perl Documentation Plack::Handler(3)

Plack::Handler - Connects PSGI applications and Web servers

  package Plack::Handler::AwesomeWebServer;
  sub new {
      my($class, %opt) = @_;
      ...
      return $self;
  }

  sub run {
      my($self, $app) = @_;
      # launch the AwesomeWebServer and run $app in the loop
  }

  # then from command line
  plackup -s AwesomeWebServer -a app.psgi

Plack::Handler defines an adapter (connector) interface to adapt plackup and Plack::Runner to various PSGI web servers, such as Apache2 for mod_perl and Standalone for HTTP::Server::PSGI.

It is an empty class, and as long as they implement the methods defined as an Server adapter interface, they do not need to inherit Plack::Handler.

If you write a new handler for existing web servers, I recommend you to include the full name of the server module after Plack::Handler prefix, like Plack::Handler::Net::Server::Coro if you write a handler for Net::Server::Coro. That way you'll be using plackup command line option like:

  plackup -s Net::Server::Coro

that makes it easy to figure out which web server you're going to use.

new
  $server = FooBarServer->new(%args);
    

Creates a new adapter object. %args can take arbitrary parameters to configure server environments but common parameters are:

port
Port number the server listens to.
host
Address the server listens to. Set to undef to listen any interface.
run
  $server->run($app);
    

Starts the server process and when a request comes in, run the PSGI application passed in $app in the loop.

register_service
  $server->register_service($app);
    

Optional interface if your server should run in parallel with other event loop, particularly AnyEvent. This is the same as "run" but doesn't run the main loop.

rackup
2020-11-30 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.