NAME

PAGI::App::Directory - Serve files with directory listing

SYNOPSIS

use PAGI::App::Directory;

my $app = PAGI::App::Directory->new(
    root => '/var/www/files',
)->to_app;

DESCRIPTION

Extends PAGI::App::File to add directory listing capabilities. When a directory is requested and no index file is found, returns an HTML or JSON listing of directory contents.

OPTIONS

Inherits all options from PAGI::App::File, plus:

  • show_hidden - Show hidden files (starting with .) (default: 0)

JSON FORMAT

When Accept header contains application/json, returns JSON:

[
  { "name": "file.txt", "is_dir": 0, "size": 1234, "mtime": 1234567890 },
  { "name": "subdir",   "is_dir": 1, "size": 0,    "mtime": 1234567890 }
]