Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
HTTP::Server::Simple::Static(3) User Contributed Perl Documentation HTTP::Server::Simple::Static(3)

HTTP::Server::Simple::Static - Serve static files with HTTP::Server::Simple

This documentation refers to HTTP::Server::Simple::Static version 0.13

    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'),
    package main;
    my $server = MyServer->new();

this mixin adds a method to serve static files from your HTTP::Server::Simple subclass.

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 or wishlist requests should be submitted via

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.

HTTP::Server::Simple, HTTP::Server::Simple::CGI

Stephen Quinney ""
Thanks to Marcus Ramberg "" and Simon Cozens for initial implementation.

Copyright 2006 - 2017. Stephen Quinney ""
You may distribute this code under the same terms as Perl itself.
2019-01-01 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.