NAME

App::Context::NetServer - context in which we are currently running

SYNOPSIS

# ... official way to get a Context object ...
use App;
$context = App->context();
$config = $context->config();   # get the configuration
$config->dispatch_events();     # dispatch events

# ... alternative way (used internally) ...
use App::Context::NetServer;
$context = App::Context::NetServer->new();

DESCRIPTION

A Context class models the environment (aka "context) in which the current execution thread is running. For the App::Context::NetServer class, this is the runtime environment of a server with any of the following Net::Server personalities.

* Net::Server                - generic, single-connection server
* Net::Server::INET          - a server controlled by inetd
* Net::Server::Fork          - a forking server
* Net::Server::PreForkSimple - a prefork server with constant # children
* Net::Server::PreFork       - a prefork server with varying # children

Protected Methods:

The following methods are intended to be called by subclasses of the current class.

_init()

The _init() method is called from within the standard Context constructor.

The _init() method sets debug flags.

* Signature: $context->_init($args)
* Param:     $args            hash{string} [in]
* Return:    void
* Throws:    App::Exception
* Since:     0.01

Sample Usage: 

$context->_init($args);

Protected Methods

These methods are considered protected because no class is ever supposed to call them. They may however be called by the context-specific drivers.

dispatch_events()

The dispatch_events() method is called at server startup. This method is not expected to return control until the server is exiting.

* Signature: $context->dispatch_events()
* Param:     void
* Return:    void
* Throws:    App::Exception
* Since:     0.01

Sample Usage: 

$context->dispatch_events();

send_response()

* Signature: $context->send_response()
* Param:     void
* Return:    void
* Throws:    App::Exception
* Since:     0.01

Sample Usage: 

$context->send_response();

set_header()

* Signature: $context->set_header()
* Param:     void
* Return:    void
* Throws:    App::Exception
* Since:     0.01

Sample Usage: 

$context->set_header();

request()

* Signature: $context->request()
* Param:     void
* Return:    void
* Throws:    App::Exception
* Since:     0.01

Sample Usage: 

$context->request();

The request() method gets the current Request being handled in the Context.

response()

* Signature: $context->response()
* Param:     void
* Return:    void
* Throws:    App::Exception
* Since:     0.01

Sample Usage: 

$context->response();

The response() method gets the current Request being handled in the Context.

Public Methods:

user()

The user() method returns the username of the authenticated user. The special name, "guest", refers to the unauthenticated (anonymous) user.

* Signature: $username = $self->user();
* Param:  void
* Return: string
* Throws: <none>
* Since:  0.01

Sample Usage: 

$username = $context->user();

In a request/response environment, this turns out to be a convenience method which gets the authenticated user from the current Request object.