fileserver

package
v2.0.0-beta11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2019 License: Apache-2.0 Imports: 28 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Browse

type Browse struct {
	// Use this template file instead of the default browse template.
	TemplateFile string `json:"template_file,omitempty"`
	// contains filtered or unexported fields
}

Browse configures directory browsing.

type FileServer

type FileServer struct {
	// The path to the root of the site. Default is `{http.vars.root}` if set,
	// or current working directory otherwise.
	Root string `json:"root,omitempty"`

	// A list of files or folders to hide; the file server will pretend as if
	// they don't exist. Accepts globular patterns like "*.hidden" or "/foo/*/bar".
	Hide []string `json:"hide,omitempty"`

	// The names of files to try as index files if a folder is requested.
	IndexNames []string `json:"index_names,omitempty"`

	// Enables file listings if a directory was requested and no index
	// file is present.
	Browse *Browse `json:"browse,omitempty"`

	// Use redirects to enforce trailing slashes for directories, or to
	// remove trailing slash from URIs for files. Default is true.
	CanonicalURIs *bool `json:"canonical_uris,omitempty"`

	// If pass-thru mode is enabled and a requested file is not found,
	// it will invoke the next handler in the chain instead of returning
	// a 404 error. By default, this is false (disabled).
	PassThru bool `json:"pass_thru,omitempty"`
}

FileServer implements a static file server responder for Caddy.

func (FileServer) CaddyModule

func (FileServer) CaddyModule() caddy.ModuleInfo

CaddyModule returns the Caddy module information.

func (*FileServer) Provision

func (fsrv *FileServer) Provision(ctx caddy.Context) error

Provision sets up the static files responder.

func (*FileServer) ServeHTTP

func (fsrv *FileServer) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error

type MatchFile

type MatchFile struct {
	// The root directory, used for creating absolute
	// file paths, and required when working with
	// relative paths; if not specified, the current
	// directory is assumed. Accepts placeholders.
	Root string `json:"root,omitempty"`

	// The list of files to try. Each path here is
	// considered relatice to Root. If nil, the
	// request URL's path will be assumed. Accepts
	// placeholders.
	TryFiles []string `json:"try_files,omitempty"`

	// How to choose a file in TryFiles. Can be:
	//
	// - first_exist
	// - smallest_size
	// - largest_size
	// - most_recently_modified
	//
	// Default is first_exist.
	TryPolicy string `json:"try_policy,omitempty"`
}

MatchFile is an HTTP request matcher that can match requests based upon file existence.

func (MatchFile) CaddyModule

func (MatchFile) CaddyModule() caddy.ModuleInfo

CaddyModule returns the Caddy module information.

func (MatchFile) Match

func (m MatchFile) Match(r *http.Request) bool

Match returns true if r matches m. Returns true if a file was matched. If so, two placeholders will be available:

  • http.matchers.file.relative
  • http.matchers.file.absolute

func (*MatchFile) Provision

func (m *MatchFile) Provision(_ caddy.Context) error

Provision sets up m's defaults.

func (*MatchFile) UnmarshalCaddyfile

func (m *MatchFile) UnmarshalCaddyfile(d *caddyfile.Dispenser) error

UnmarshalCaddyfile sets up the matcher from Caddyfile tokens. Syntax:

file {
    root <path>
    try_files <files...>
    try_policy first_exist|smallest_size|largest_size|most_recently_modified
}

func (MatchFile) Validate

func (m MatchFile) Validate() error

Validate ensures m has a valid configuration.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL