web

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2021 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Asset

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDigest

func AssetDigest(name string) ([sha256.Size]byte, error)

AssetDigest returns the digest of the file with the given name. It returns an error if the asset could not be found or the digest could not be loaded.

func AssetDir

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"}, AssetDir("data/img") would return []string{"a.png", "b.png"}, AssetDir("foo.txt") and AssetDir("notexist") would return an error, and AssetDir("") will return []string{"data"}.

func AssetInfo

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames

func AssetNames() []string

AssetNames returns the names of the assets.

func AssetString

func AssetString(name string) (string, error)

AssetString returns the asset contents as a string (instead of a []byte).

func Digests

func Digests() (map[string][sha256.Size]byte, error)

Digests returns a map of all known files and their checksums.

func MustAsset

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func MustAssetString

func MustAssetString(name string) string

MustAssetString is like AssetString but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RestoreAsset

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory.

func RestoreAssets

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively.

Types

type Config

type Config struct {
	Dir      string `envconfig:"dir" desc:"a path to an external web directory"`
	BasePath string `envconfig:"base_path" default:"/" desc:"a base path of web pages"`
}

Config is a configuration of a template's renderer and HTTP handler for static files.

type HTMLRenderer

type HTMLRenderer struct {
	Config
	// contains filtered or unexported fields
}

HTMLRenderer renders a HTML page from a Go template.

A template's source for a HTML page should contain four blocks: "title", "style", "js", "content". Block "title" should contain the content of the "title" HTML tag. Block "style" should contain "link" HTML tags that are injected to the head of the page. Block "js" should contain "script" HTML tags that are injected to the bottom of the page's body. Block "content" should contain HTML content that is injected to the start of the page's body. Each block has access to data that is specified using the method "RenderTemplate" of HTMLRenderer.

By default, HTMLRenderer loads a template's source from the application's internal assets. The application's internal assets include the login page's template only (template with name "login.tmpl").

Besides it, HTMLRenderer can load templates' sources from an external directory. The external directory is specified via a config.

Templates can contain links to resources (styles and scripts). In that case, the template's directory has to contain directory "static" with these resources. To provide these resources to a user you should register StaticHandler in the application's HTTP router with path "/static".

func NewHTMLRenderer

func NewHTMLRenderer(cnf Config) (*HTMLRenderer, error)

NewHTMLRenderer returns a new instance of HTMLRenderer.

func (*HTMLRenderer) RenderTemplate

func (r *HTMLRenderer) RenderTemplate(w http.ResponseWriter, req *http.Request, name string, data interface{}) error

RenderTemplate renders a HTML page from a template with the specified name using the specified data.

type StaticHandler

type StaticHandler struct {
	// contains filtered or unexported fields
}

StaticHandler provides HTTP handler that serves static files.

func NewStaticHandler

func NewStaticHandler(cnf Config) *StaticHandler

NewStaticHandler creates a new instance of StaticHandler.

func (*StaticHandler) AddRoutes

func (h *StaticHandler) AddRoutes(apply func(m, p string, h http.Handler, mws ...func(http.Handler) http.Handler))

AddRoutes registers a route that serves static files.

Jump to

Keyboard shortcuts

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