Documentation
¶
Overview ¶
Package browse provides middleware for listing files in a directory when directory path is requested instead of a specific file.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Browse ¶
type Browse struct {
Next httpserver.Handler
Configs []Config
IgnoreIndexes bool
}
Browse is an http.Handler that can show a file listing when directories in the given paths are specified.
func (Browse) ServeHTTP ¶
ServeHTTP determines if the request is for this plugin, and if all prerequisites are met. If so, control is handed over to ServeListing.
type Config ¶
type Config struct {
PathScope string // the base path the URL must match to enable browsing
Fs staticfiles.FileServer
Variables interface{}
Template *template.Template
}
Config is a configuration for browsing in a particular path.
type Crumb ¶ added in v0.10.0
type Crumb struct {
Link, Text string
}
Crumb represents part of a breadcrumb menu.
type FileInfo ¶
type FileInfo struct {
Name string
Size int64
URL string
ModTime time.Time
Mode os.FileMode
IsDir bool
IsSymlink bool
}
FileInfo is the info about a particular file or directory
func (FileInfo) HumanModTime ¶
HumanModTime returns the modified time of the file as a human-readable string.
type Listing ¶
type Listing struct {
// The name of the directory (the last element of the path)
Name string
// The full path of the request
Path string
// Whether the parent directory is browsable
CanGoUp bool
// The items (files and folders) in the path
Items []FileInfo
// The number of directories in the listing
NumDirs int
// The number of files (items that aren't directories) in the listing
NumFiles int
// Which sorting order is used
Sort string
// And which order
Order string
// If ≠0 then Items have been limited to that many elements
ItemsLimitedTo int
// Optional custom variables for use in browse templates
User interface{}
httpserver.Context
}
A Listing is the context used to fill out a template.
Source Files
¶
- browse.go
- setup.go