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


Manual Reference Pages  -  MOJOLICIOUS::STATIC (3)

.ds Aq ’

NAME

Mojolicious::Static - Serve static files

CONTENTS

SYNOPSIS



  use Mojolicious::Static;

  my $static = Mojolicious::Static->new;
  push @{$static->classes}, MyApp::Controller::Foo;
  push @{$static->paths}, /home/sri/public;



DESCRIPTION

Mojolicious::Static is a static file server with Range, If-Modified-Since and If-None-Match support, based on RFC 7232 <http://tools.ietf.org/html/rfc7232> and RFC 7233 <http://tools.ietf.org/html/rfc7233>.

ATTRIBUTES

Mojolicious::Static implements the following attributes.

    classes



  my $classes = $static->classes;
  $static     = $static->classes([main]);



Classes to use for finding files in DATA sections with Mojo::Loader, first one has the highest precedence, defaults to main. Only files with exactly one extension will be used, like index.html. Note that for files to be detected, these classes need to have already been loaded and added before warmup is called, which usually happens automatically during application startup.



  # Add another class with static files in DATA section
  push @{$static->classes}, Mojolicious::Plugin::Fun;

  # Add another class with static files in DATA section and higher precedence
  unshift @{$static->classes}, Mojolicious::Plugin::MoreFun;



    paths



  my $paths = $static->paths;
  $static   = $static->paths([/home/sri/public]);



Directories to serve static files from, first one has the highest precedence.



  # Add another "public" directory
  push @{$static->paths}, /home/sri/public;

  # Add another "public" directory with higher precedence
  unshift @{$static->paths}, /home/sri/themes/blue/public;



METHODS

Mojolicious::Static inherits all methods from Mojo::Base and implements the following new ones.

    dispatch



  my $bool = $static->dispatch(Mojolicious::Controller->new);



Serve static file for Mojolicious::Controller object.

    file



  my $asset = $static->file(images/logo.png);
  my $asset = $static->file(../lib/MyApp.pm);



Build Mojo::Asset::File or Mojo::Asset::Memory object for a file, relative to paths or from classes, or return undef if it doesn’t exist. Note that this method does not protect from traversing to parent directories.



  my $content = $static->file(foo/bar.html)->slurp;



    is_fresh



  my $bool = $static->is_fresh(Mojolicious::Controller->new, {etag => abc});



Check freshness of request by comparing the If-None-Match and If-Modified-Since request headers to the ETag and Last-Modified response headers.

These options are currently available:
etag


  etag => abc



Add ETag header before comparing.

last_modified


  last_modified => $epoch



Add Last-Modified header before comparing.

    serve



  my $bool = $static->serve(Mojolicious::Controller->new, images/logo.png);
  my $bool = $static->serve(Mojolicious::Controller->new, ../lib/MyApp.pm);



Serve a specific file, relative to paths or from classes. Note that this method does not protect from traversing to parent directories.

    serve_asset



  $static->serve_asset(Mojolicious::Controller->new, Mojo::Asset::File->new);



Serve a Mojo::Asset::File or Mojo::Asset::Memory object with Range, If-Modified-Since and If-None-Match support.

    warmup



  $static->warmup;



Prepare static files from classes for future use.

SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MOJOLICIOUS::STATIC (3) 2016-03-15

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