POE::Component::Server::HTTPServer::StaticHandler(3)

NAME
POE::Component::Server::HTTPServer::StaticHandler - serve static files

SYNOPSIS
  use POE::Component::Server::HTTPServer;
  my $server = POE::Component::Server::HTTPServer->new();
  $server->handlers([ '/static' => new_handler( 'StaticHandler',
                                                $static_root ),
                      '/static2' => new_handler( 'StaticHandler',
                                                 $static_root,
                                                 auto_index => 1,
                                                ),
                    ]);

DESCRIPTION
StaticHandler provides a request handler which serves static filesystem resources relative to a given root. It may also be subclassed to handle interpreted requests based on filesystem resources such as parsed or templated pages.

StaticHandler expects to be created with at least one argument. The first argument should be the location of the document root. Requests relative to the prefix associated with this handler will be resolved to file names relative to this directory. If found, the contents of the file will be returned as the response.

StaticHandler may also be given the following arguments when created:

auto_index
    If set to true, a (crude) directory index response will be generated for requests which map to directories. The default is false.

index_file
    If defined, requests which map to directories will instead be resolved to this file (in the relevant directory), if such an index file exists. This setting takes precedence over "auto_index". The default is "index.html".

  Subclassing StaticHandler
When handling requests, StaticHandler invokes two methods which may be overridden to modify the default behavior. One of the following is invoked when StaticHandler resolves a request to a given file or directory:

$self->handle_plainfile($filepath, $context)
    Called when the request maps to a plain file. $filepath is the full path to the file, and $context is the HTTPServer context.

$self->handle_directory($filepath, $context)
    Called when the request maps to a directory. $filepath is the full path to the file, and $context is the HTTPServer context.

SEE ALSO
POE::Component::Server::HTTPServer, POE::Component::Server::HTTPServer::TemplateHandler

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.