NAME

App::Context::HTTP - 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::HTTP;
$context = App::Context::HTTP->new();

DESCRIPTION

A Context class models the environment (aka "context) in which the current process is running. For the App::Context::HTTP class, this models any of the web application runtime environments which employ the HTTP protocol and produce HTML pages as output. This includes CGI, mod_perl, FastCGI, etc. The difference between these environments is not in the Context but in the implementation of the Request and Response objects.

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.

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.

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();

user_agent()

The user_agent() method returns a UserAgent objects which is primarily useful to see what capabilities the user agent (browser) supports.

* Signature: $user_agent = $context->user_agent();
* Param:  void
* Return: $user_agent    App::UserAgent
* Throws: <none>
* Since:  0.01

Sample Usage: 

$user_agent = $context->user_agent();

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.