Provided by: libmojolicious-perl_4.63+dfsg-1_all
NAME
Mojolicious::Static - Serve static files
SYNOPSIS
use Mojolicious::Static; my $static = Mojolicious::Static->new; push @{$static->classes}, 'MyApp::Foo'; push @{$static->paths}, '/home/sri/public';
DESCRIPTION
Mojolicious::Static is a static file server with "Range" and "If-Modified-Since" support.
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, first one has the highest precedence, defaults to "main". # Add another class with static files in DATA section push @{$static->classes}, 'Mojolicious::Plugin::Fun'; 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';
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'); Get Mojo::Asset::File or Mojo::Asset::Memory object for a file, relative to "paths" or from "classes". Note that this method does not protect from traversing to parent directories. my $content = $static->file('foo/bar.html')->slurp; 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" and "If-Modified-Since" support.
SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.