Provided by: libmojolicious-perl_4.63+dfsg-1_all bug

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>.