Documentation
¶
Index ¶
- Constants
- Variables
- func Dir(useLocal bool, name string) http.FileSystem
- func EvalInline(input string, data map[string]interface{}, funcs FuncMap) string
- func FS(useLocal bool) http.FileSystem
- func FSByte(useLocal bool, name string) ([]byte, error)
- func FSMustByte(useLocal bool, name string) []byte
- func FSMustString(useLocal bool, name string) string
- func FSString(useLocal bool, name string) (string, error)
- func IsDirectoryError(err error) bool
- func IsHardStop(err error) bool
- func MinNonZero(data stats.Float64Data) (float64, error)
- func PrettifyHTML(in string) (string, error)
- func RegisterPostprocessor(name string, ppfunc PostprocessorFunc)
- func TrimEmptyLines(in string) (string, error)
- type Authenticator
- type AuthenticatorConfig
- type AuthenticatorConfigs
- type BasicAuthenticator
- type Binding
- type BindingErrorAction
- type Engine
- type FileMount
- func (self *FileMount) GetMountPoint() string
- func (self *FileMount) Open(name string) (http.File, error)
- func (self *FileMount) OpenWithType(name string, req *http.Request, requestBody io.Reader) (*MountResponse, error)
- func (self *FileMount) String() string
- func (self *FileMount) WillRespondTo(name string, req *http.Request, requestBody io.Reader) bool
- type FuncMap
- type Mount
- type MountConfig
- type MountResponse
- func (self *MountResponse) Close() error
- func (self *MountResponse) GetFile() http.File
- func (self *MountResponse) GetPayload() interface{}
- func (self *MountResponse) IsDir() bool
- func (self *MountResponse) ModTime() time.Time
- func (self *MountResponse) Mode() os.FileMode
- func (self *MountResponse) Name() string
- func (self *MountResponse) Read(p []byte) (int, error)
- func (self *MountResponse) Readdir(count int) ([]os.FileInfo, error)
- func (self *MountResponse) Seek(offset int64, whence int) (int64, error)
- func (self *MountResponse) Size() int64
- func (self *MountResponse) Stat() (os.FileInfo, error)
- func (self *MountResponse) Sys() interface{}
- type PostprocessorFunc
- type ProxyMount
- func (self *ProxyMount) GetMountPoint() string
- func (self *ProxyMount) Open(name string) (http.File, error)
- func (self *ProxyMount) OpenWithType(name string, req *http.Request, requestBody io.Reader) (*MountResponse, error)
- func (self *ProxyMount) String() string
- func (self *ProxyMount) WillRespondTo(name string, req *http.Request, requestBody io.Reader) bool
- type Redirect
- type RedirectTo
- type Server
- func (self *Server) GetTemplateData(req *http.Request, header *TemplateHeader) (FuncMap, map[string]interface{}, error)
- func (self *Server) GetTemplateFunctions(data interface{}) FuncMap
- func (self *Server) Initialize() error
- func (self *Server) InjectIncludes(w io.Writer, header *TemplateHeader) error
- func (self *Server) ListenAndServe(address string) error
- func (self *Server) LoadConfig(filename string) error
- func (self *Server) LoadLayout(name string) (io.Reader, error)
- func (self *Server) RunStartCommand(scmd *StartCommand, waitForCommand bool) error
- func (self *Server) Serve() error
- func (self *Server) ServeHTTP(w http.ResponseWriter, req *http.Request)
- func (self *Server) SetFileSystem(fs http.FileSystem)
- func (self *Server) SetMounts(mounts []Mount)
- func (self *Server) ShouldReturnSource(req *http.Request) bool
- func (self *Server) ToTemplateName(requestPath string) string
- type StartCommand
- type SwitchCase
- type Template
- func (self *Template) AddPostProcessors(postprocessors ...string) error
- func (self *Template) Engine() Engine
- func (self *Template) Funcs(funcs FuncMap)
- func (self *Template) Parse(input string) error
- func (self *Template) ParseFrom(r io.Reader) error
- func (self *Template) Render(w io.Writer, data interface{}, subtemplate string) error
- func (self *Template) SetEngine(engine Engine)
- func (self *Template) SetHeaderOffset(offset int)
- type TemplateHeader
- type Templated
Constants ¶
View Source
const ( ActionSummarize BindingErrorAction = `summarize` ActionPrint = `print` ActionContinue = `continue` ActionBreak = `break` ActionIgnore = `ignore` )
View Source
const ApplicationName = `diecast`
View Source
const ApplicationSummary = `a dynamic site generator that consumes REST services and renders static HTML output in realtime`
View Source
const ApplicationVersion = `1.9.15`
View Source
const DefaultAddress = `127.0.0.1:28419`
View Source
const DefaultConfigFile = `diecast.yml`
View Source
const DefaultRoutePrefix = `/`
Variables ¶
View Source
var AllowInsecureLoopbackBindings bool
View Source
var Base32Alphabet = base32.NewEncoding(`abcdefghijklmnopqrstuvwxyz234567`)
View Source
var BindingClient = http.DefaultClient
View Source
var ConvertRoundToPlaces = 12
View Source
var DefaultIndexFile = `index.html`
View Source
var DefaultParamJoiner = `;`
View Source
var DefaultProxyMountTimeout = time.Duration(10) * time.Second
View Source
var DefaultTemplatePatterns = []string{`*.html`}
View Source
var DefaultVerifyFile = `/` + DefaultIndexFile
View Source
var HeaderSeparator = []byte{'-', '-', '-'}
View Source
var MaxBufferedBodySize = 16535
View Source
var MountHaltErr = errors.New(`mount halted`)
Functions ¶
func Dir ¶
func Dir(useLocal bool, name string) http.FileSystem
Dir returns a http.Filesystem for the embedded assets on a given prefix dir. If useLocal is true, the filesystem's contents are instead used.
func FS ¶
func FS(useLocal bool) http.FileSystem
FS returns a http.Filesystem for the embedded assets. If useLocal is true, the filesystem's contents are instead used.
func FSByte ¶
FSByte returns the named file from the embedded assets. If useLocal is true, the filesystem's contents are instead used.
func FSMustByte ¶
FSMustByte is the same as FSByte, but panics if name is not present.
func FSMustString ¶
FSMustString is the string version of FSMustByte.
func IsDirectoryError ¶
func IsHardStop ¶
func MinNonZero ¶
func MinNonZero(data stats.Float64Data) (float64, error)
func PrettifyHTML ¶
func RegisterPostprocessor ¶
func RegisterPostprocessor(name string, ppfunc PostprocessorFunc)
func TrimEmptyLines ¶
Types ¶
type Authenticator ¶
type Authenticator interface {
Authenticate(http.ResponseWriter, *http.Request) bool
}
type AuthenticatorConfig ¶
type AuthenticatorConfigs ¶
type AuthenticatorConfigs []AuthenticatorConfig
func (AuthenticatorConfigs) Authenticator ¶
func (self AuthenticatorConfigs) Authenticator(req *http.Request) (Authenticator, error)
type BasicAuthenticator ¶
type BasicAuthenticator struct {
// contains filtered or unexported fields
}
func NewBasicAuthenticator ¶
func NewBasicAuthenticator(options map[string]interface{}) (*BasicAuthenticator, error)
func (*BasicAuthenticator) AddPasswdFile ¶
func (self *BasicAuthenticator) AddPasswdFile(filename string) error
func (*BasicAuthenticator) Authenticate ¶
func (self *BasicAuthenticator) Authenticate(w http.ResponseWriter, req *http.Request) bool
type Binding ¶
type Binding struct { Name string `json:"name,omitempty"` Restrict []string `json:"restrict,omitempty"` OnlyIfExpr string `json:"only_if,omitempty"` NotIfExpr string `json:"not_if,omitempty"` Method string `json:"method,omitempty"` Resource string `json:"resource,omitempty"` Insecure bool `json:"insecure,omitempty"` ParamJoiner string `json:"param_joiner,omitempty"` Params map[string]interface{} `json:"params,omitempty"` Headers map[string]string `json:"headers,omitempty"` BodyParams map[string]interface{} `json:"body,omitempty"` RawBody string `json:"rawbody,omitempty"` Formatter string `json:"formatter,omitempty"` Parser string `json:"parser,omitempty"` NoTemplate bool `json:"no_template,omitempty"` Optional bool `json:"optional,omitempty"` Fallback interface{} `json:"fallback,omitempty"` OnError BindingErrorAction `json:"on_error,omitempty"` IfStatus map[int]BindingErrorAction `json:"if_status,omitempty"` Repeat string `json:"repeat,omitempty"` SkipInheritHeaders bool `json:"skip_inherit_headers,omitempty"` DisableCache bool `json:"disable_cache,omitempty"` // contains filtered or unexported fields }
type BindingErrorAction ¶
type BindingErrorAction string
type FileMount ¶
type FileMount struct { MountPoint string `json:"mount"` Path string `json:"source"` Passthrough bool `json:"passthrough"` FileSystem http.FileSystem `json:"-"` }
func (*FileMount) GetMountPoint ¶
func (*FileMount) OpenWithType ¶
type FuncMap ¶
type FuncMap map[string]interface{}
func GetStandardFunctions ¶
func GetStandardFunctions() FuncMap
type Mount ¶
type Mount interface { Open(string) (http.File, error) OpenWithType(string, *http.Request, io.Reader) (*MountResponse, error) WillRespondTo(string, *http.Request, io.Reader) bool GetMountPoint() string String() string }
func NewMountFromSpec ¶
type MountConfig ¶
type MountResponse ¶
type MountResponse struct { ContentType string StatusCode int Metadata map[string]interface{} RedirectTo string RedirectCode int // contains filtered or unexported fields }
func NewMountResponse ¶
func NewMountResponse(name string, size int64, payload interface{}) *MountResponse
func (*MountResponse) Close ¶
func (self *MountResponse) Close() error
func (*MountResponse) GetFile ¶
func (self *MountResponse) GetFile() http.File
func (*MountResponse) GetPayload ¶
func (self *MountResponse) GetPayload() interface{}
func (*MountResponse) IsDir ¶
func (self *MountResponse) IsDir() bool
func (*MountResponse) ModTime ¶
func (self *MountResponse) ModTime() time.Time
func (*MountResponse) Mode ¶
func (self *MountResponse) Mode() os.FileMode
func (*MountResponse) Name ¶
func (self *MountResponse) Name() string
func (*MountResponse) Readdir ¶
func (self *MountResponse) Readdir(count int) ([]os.FileInfo, error)
func (*MountResponse) Seek ¶
func (self *MountResponse) Seek(offset int64, whence int) (int64, error)
func (*MountResponse) Size ¶
func (self *MountResponse) Size() int64
func (*MountResponse) Sys ¶
func (self *MountResponse) Sys() interface{}
type PostprocessorFunc ¶
type ProxyMount ¶
type ProxyMount struct { MountPoint string `json:"-"` URL string `json:"-"` Method string `json:"method,omitempty"` Headers map[string]string `json:"headers,omitempty"` Timeout time.Duration `json:"timeout,omitempty"` PassthroughRequests bool `json:"passthrough_requests"` PassthroughErrors bool `json:"passthrough_errors"` Insecure bool `json:"insecure"` Client *http.Client // contains filtered or unexported fields }
func (*ProxyMount) GetMountPoint ¶
func (self *ProxyMount) GetMountPoint() string
func (*ProxyMount) OpenWithType ¶
func (self *ProxyMount) OpenWithType(name string, req *http.Request, requestBody io.Reader) (*MountResponse, error)
func (*ProxyMount) String ¶
func (self *ProxyMount) String() string
func (*ProxyMount) WillRespondTo ¶
type RedirectTo ¶
type RedirectTo string
func (RedirectTo) Error ¶
func (self RedirectTo) Error() string
type Server ¶
type Server struct { Address string `json:"address"` Bindings []Binding `json:"bindings"` BindingPrefix string `json:"bindingPrefix"` RootPath string `json:"root"` LayoutPath string `json:"layouts"` ErrorsPath string `json:"errors"` EnableDebugging bool `json:"debug"` EnableLayouts bool `json:"enableLayouts"` RoutePrefix string `json:"routePrefix"` TemplatePatterns []string `json:"patterns"` AdditionalFunctions template.FuncMap `json:"-"` TryLocalFirst bool `json:"localFirst"` IndexFile string `json:"indexFile"` VerifyFile string `json:"verifyFile"` Mounts []Mount `json:"-"` MountConfigs []MountConfig `json:"mounts"` BaseHeader *TemplateHeader `json:"header"` DefaultPageObject map[string]interface{} `json:"-"` OverridePageObject map[string]interface{} `json:"-"` CacheDirectory string `json:"cachedir"` PrestartCommand StartCommand `json:"prestart"` StartCommand StartCommand `json:"start"` Authenticators AuthenticatorConfigs `json:"authenticators"` // contains filtered or unexported fields }
func (*Server) GetTemplateData ¶
func (*Server) GetTemplateFunctions ¶
func (*Server) Initialize ¶
func (*Server) InjectIncludes ¶
func (self *Server) InjectIncludes(w io.Writer, header *TemplateHeader) error
func (*Server) ListenAndServe ¶
func (*Server) LoadConfig ¶
func (*Server) RunStartCommand ¶
func (self *Server) RunStartCommand(scmd *StartCommand, waitForCommand bool) error
func (*Server) SetFileSystem ¶
func (self *Server) SetFileSystem(fs http.FileSystem)
func (*Server) ToTemplateName ¶
type StartCommand ¶
type SwitchCase ¶ added in v1.9.9
type Template ¶
type Template struct {
// contains filtered or unexported fields
}
func NewTemplate ¶
func (*Template) AddPostProcessors ¶
func (*Template) SetHeaderOffset ¶
type TemplateHeader ¶
type TemplateHeader struct { Page map[string]interface{} `json:"page,omitempty"` Bindings []Binding `json:"bindings,omitempty"` Defaults map[string]string `json:"defaults,omitempty"` DefaultHeaders map[string]string `json:"default_headers,omitempty"` Redirect *Redirect `json:"redirect,omitempty"` Switch []*SwitchCase `json:"switch,omitempty"` Layout string `json:"layout,omitempty"` Includes map[string]string `json:"includes,omitempty"` Headers map[string]interface{} `json:"headers,omitempty"` UrlParams map[string]interface{} `json:"params,omitempty"` FlagDefs map[string]interface{} `json:"flags,omitempty"` Postprocessors []string `json:"postprocessors,omitempty"` Renderer string `json:"renderer,omitempty"` // contains filtered or unexported fields }
func SplitTemplateHeaderContent ¶
func SplitTemplateHeaderContent(reader io.Reader) (*TemplateHeader, []byte, error)
func (*TemplateHeader) Merge ¶
func (self *TemplateHeader) Merge(other *TemplateHeader) (*TemplateHeader, error)
Source Files
¶
- authenticator.go
- basic_authenticator.go
- binding.go
- file_mount.go
- functions.go
- functions_defs_codecs.go
- functions_defs_collections.go
- functions_defs_color.go
- functions_defs_convert.go
- functions_defs_crypto_rand.go
- functions_defs_introspection.go
- functions_defs_location.go
- functions_defs_math.go
- functions_defs_misc.go
- functions_defs_path.go
- functions_defs_scraping.go
- functions_defs_string.go
- functions_defs_time.go
- functions_defs_types.go
- header.go
- mount.go
- mount_response.go
- postprocessors.go
- proxy_mount.go
- server.go
- static.go
- template.go
- version.go
Click to show internal directories.
Click to hide internal directories.