HTTP::Server::Simple::Static3pm
Serve static files with http::server::simple
Usage
package MyServer;use base qw(HTTP::Server::Simple::CGI);use HTTP::Server::Simple::Static;my $webroot = '/var/www';sub handle_request {my ( $self, $cgi ) = @_;if ( !$self->serve_static( $cgi, $webroot ) ) {print "HTTP/1.0 404 Not found\r\n";print $cgi->header,$cgi->start_html('Not found'),$cgi->h1('Not found'),$cgi->end_html;}}package main;my $server = MyServer->new();$server->run();
Version
This documentation refers to HTTP::Server::Simple::Static version 0.13
Overview
this mixin adds a method to serve static files from your HTTP::Server::Simple subclass.
Subroutines/methods
- serve_static( $cgi, $base )
-
Takes a reference to the CGI object and a document root path, and tries to serve a static file. Returns 0 if the file does not exist, returns 1 on success.
This method sets the
"Date"and"Last-Modified"HTTP headers when sending a response for a valid file. Further to this, the method supports clients which send an"If-Modified-Since"HTTP header in the request, it will return a 304"Not Modified"response if the file is unchanged. See RFC-2616 for full details.If the client makes a
"HEAD"request then no message body will be returned in the response.
Bugs and limitations
Bugs or wishlist requests should be submitted via http://rt.cpan.org/
Dependencies
The File::LibMagic module is used to detect the MIME-type of a file. The URI::Escape module is used for URI handling. The HTTP::Date module is used to format the timestamp in the Last-Modified HTTP header.
License and copyright
Copyright 2006 - 2017. Stephen Quinney "[email protected]"
You may distribute this code under the same terms as Perl itself.
Releases
8 releases since Debian 6.0 (Squeeze); the text changed 5 times.