NAME
POE::Component::Server::HTTPServer::Handler - request handler interface
SYNOPSIS
package MyHandler;
use base 'POE::Component::Server::HTTPServer::Handler';
# import H_CONT and H_FINAL:
use POE::Component::Server::HTTPServer::Handler;
sub _init {
my $self = shift;
my @args = @_;
# ...
}
sub handle {
my $self = shift;
my $context = shift;
if ( $context->{use_myhandler} ) {
$context->{response}->code(200);
$context->{response}->content("Boo!");
return H_FINAL;
} else {
return H_CONT;
}
}
1;
DESCRIPTION
This package defines the standard interface for request handlers. You can subclass this package to define custom behavior.
METHODS
- $self->handle( $context )
-
HTTPServer invokes this method on the handler when it determines that the handler should process the request.
$context
is the request context, which is a hash reference containing data set by the server and by previously executed handlers. Of particular note are the attributes$context->{request}
and$context->{response}
. See POE::Component::Server::HTTPServer for more details).handle()
should return one of two values (defined in this package, and exported by default):H_FINAL
indicates that processing of the request should stop, orH_CONT
which indicates that the HTTPServer should continue running handlers.A request handler will typically either set the headers and content of the response object (and return
H_FINAL
), or set attributes in the context for later handlers to use (and returnH_CONT
). A handler may also need to tell the HTTPServer to restart the request dispatching process. The idiom for this is:return $context->{dispatcher}->dispatch( $context, "/new/path/to/dispatch/to" );
- $self->_init( @args )
-
This method is called by the constructor with all the arguments passed to
new()
. If you need to handle arguments passed to the constructor, prefer overriding this method to overridingnew()
.
SEE ALSO
POE::Component::Server::HTTPServer, POE::Component::Server::HTTPServer::NotFoundHandler, POE::Component::Server::HTTPServer::BasicAuthenHandler, POE::Component::Server::HTTPServer::ParameterParseHandler, POE::Component::Server::HTTPServer::StaticHandler
AUTHOR
Greg Fast <gdf@speakeasy.net>
COPYRIGHT
Copyright 2003 Greg Fast.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.