GSP
Quick Navigator

Search Site

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

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

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'),
                  $cgi->end_html;
        }
    } 

    package main;

    my $server = MyServer->new();
    $server->run();

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 http://rt.cpan.org/

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 "sjq-perl@jadevine.org.uk"

Thanks to Marcus Ramberg "marcus@thefeed.no" and Simon Cozens for initial implementation.

Copyright 2006 - 2017. Stephen Quinney "sjq-perl@jadevine.org.uk"

You may distribute this code under the same terms as Perl itself.

2022-04-08 perl v5.32.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.