cbweb

package module
v0.10.14 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2023 License: MIT Imports: 15 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HtmlMiddleware

func HtmlMiddleware(ctx *fasthttp.RequestCtx) (bool, error)

func JsonMiddleware added in v0.10.3

func JsonMiddleware(ctx *fasthttp.RequestCtx) (bool, error)

func NewLimiter added in v0.9.0

func NewLimiter(config LimiterConfig) *config.Limiter

Types

type CacheProvider added in v0.8.0

type CacheProvider interface {
	Get(key string) (interface{}, bool)
	Delete(key string)
	Set(key string, value interface{}, ttl time.Duration)
}

type DefaultErrorHandler added in v0.0.2

type DefaultErrorHandler struct{}

func (DefaultErrorHandler) Error added in v0.0.2

func (d DefaultErrorHandler) Error(e error)

func (DefaultErrorHandler) Recover added in v0.1.0

func (d DefaultErrorHandler) Recover()

type DefaultMasterViewModel added in v0.5.0

type DefaultMasterViewModel struct {
	ViewIncludes []ViewInclude
	Title        string
	PageTitle    string
	BodyClasses  string
	NavItems     []NavItem
	Path         template.URL
	Flash        *Flash
}

func (DefaultMasterViewModel) GetBodyClasses added in v0.5.0

func (m DefaultMasterViewModel) GetBodyClasses() string

func (DefaultMasterViewModel) GetFlash added in v0.8.0

func (m DefaultMasterViewModel) GetFlash() *Flash

func (DefaultMasterViewModel) GetNavItems added in v0.5.0

func (m DefaultMasterViewModel) GetNavItems() []NavItem

func (DefaultMasterViewModel) GetPageTitle added in v0.5.0

func (m DefaultMasterViewModel) GetPageTitle() string

func (DefaultMasterViewModel) GetPath added in v0.5.0

func (m DefaultMasterViewModel) GetPath() template.URL

func (DefaultMasterViewModel) GetTitle added in v0.5.0

func (m DefaultMasterViewModel) GetTitle() string

func (DefaultMasterViewModel) GetViewIncludes added in v0.5.0

func (m DefaultMasterViewModel) GetViewIncludes() []ViewInclude

type Dependencies added in v0.1.0

type Dependencies struct {
	Port               string
	MaxRequestBodySize int
	ErrorHandler       ErrorHandler
	GlobalMiddleware   *MiddlewareHandler
}

type ErrorHandler added in v0.0.2

type ErrorHandler interface {
	Error(e error)
	Recover()
}

type ExecutableViewModel added in v0.8.0

type ExecutableViewModel interface {
	GetTemplates() []string
	GetMainTemplate() string
}

type Flash added in v0.5.0

type Flash struct {
	Messages map[string][]FlashMessage
}

func (*Flash) AddMessage added in v0.5.0

func (f *Flash) AddMessage(group string, message FlashMessage)

func (*Flash) GetMessages added in v0.5.0

func (f *Flash) GetMessages(group string) []FlashMessage

func (*Flash) HasMessageType added in v0.10.1

func (f *Flash) HasMessageType(group, messageType string) bool

func (*Flash) HasMessages added in v0.5.0

func (f *Flash) HasMessages(group string) bool

type FlashMessage added in v0.5.0

type FlashMessage struct {
	Type    string
	Message string
}

type LimiterConfig added in v0.9.0

type LimiterConfig struct {
	Max            int64
	Ttl            time.Duration
	Methods        []string
	ContentType    string
	Message        string
	ForwardedForIp bool
}

type MasterViewModel

type MasterViewModel interface {
	GetMasterViewModel() DefaultMasterViewModel
}

type MiddlewareHandler

type MiddlewareHandler struct {
	ErrorHandler ErrorHandler
	Limiter      *config.Limiter
	// contains filtered or unexported fields
}

func (MiddlewareHandler) AddMiddleware

func (m MiddlewareHandler) AddMiddleware(middleware ...func(ctx *fasthttp.RequestCtx) (bool, error)) MiddlewareHandler

func (MiddlewareHandler) Handle

func (m MiddlewareHandler) Handle(ctx *fasthttp.RequestCtx)

func (MiddlewareHandler) HandleLimited added in v0.3.0

func (m MiddlewareHandler) HandleLimited() fasthttp.RequestHandler

func (MiddlewareHandler) SetAfterFinal added in v0.1.0

func (m MiddlewareHandler) SetAfterFinal(after ...func(ctx *fasthttp.RequestCtx) (bool, error)) MiddlewareHandler

func (MiddlewareHandler) SetFinal

func (m MiddlewareHandler) SetFinal(final func(ctx *fasthttp.RequestCtx)) MiddlewareHandler

func (MiddlewareHandler) SetProfiler added in v0.1.0

func (m MiddlewareHandler) SetProfiler(profiler Profiler) MiddlewareHandler

type Module

type Module interface {
	SetRoutes(router *router.Router)
	GetGlobalTemplates() map[string][]byte
	SetGlobalTemplates(templates map[string][]byte)
}
type NavItem struct {
	Src         template.URL
	Title       string
	Active      bool
	SubNavItems []NavItem
	Divider     bool
	Permitted   bool
}
type NavItemCollection []NavItem
func (n *NavItemCollection) FilterPermitted() []NavItem

type Profiler added in v0.1.0

type Profiler interface {
	Start()
	End()
}

type Server

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

func NewServer

func NewServer(dependencies Dependencies, modules ...Module) *Server

func (*Server) AddModule

func (s *Server) AddModule(module Module)

func (*Server) RunAndCatch added in v0.10.13

func (s *Server) RunAndCatch(catch map[os.Signal]func())

func (*Server) Start

func (s *Server) Start() error

type TypehintingViewModel added in v0.5.0

type TypehintingViewModel struct{}

This is here purely for typehinting in go template files

func (TypehintingViewModel) GetMasterViewModel added in v0.5.0

func (t TypehintingViewModel) GetMasterViewModel() DefaultMasterViewModel

type ViewInclude

type ViewInclude struct {
	Type      ViewIncludeType
	Src       template.URL
	Html      template.HTML
	Attribute template.HTMLAttr
	Js        template.JS
	Css       template.CSS
}

type ViewIncludeType

type ViewIncludeType string
var (
	ViewIncludeType_JsHead           ViewIncludeType = "js-head"
	ViewIncludeType_JsHeadInline     ViewIncludeType = "js-head-inline"
	ViewIncludeType_CssHead          ViewIncludeType = "css-head"
	ViewIncludeType_CssHeadInline    ViewIncludeType = "css-head-inline"
	ViewIncludeType_JsBody           ViewIncludeType = "js-body"
	ViewIncludeType_JsBodyInline     ViewIncludeType = "js-body-inline"
	ViewIncludeType_CssBody          ViewIncludeType = "css-body"
	ViewIncludeType_CssBodyInline    ViewIncludeType = "css-body-inline"
	ViewIncludeType_JsPostBody       ViewIncludeType = "js-postBody"
	ViewIncludeType_JsPostBodyInline ViewIncludeType = "js-postBody-inline"
)

func (ViewIncludeType) IsCssBody

func (h ViewIncludeType) IsCssBody() bool

func (ViewIncludeType) IsCssBodyInline

func (h ViewIncludeType) IsCssBodyInline() bool

func (ViewIncludeType) IsCssHead

func (h ViewIncludeType) IsCssHead() bool

func (ViewIncludeType) IsCssHeadInline

func (h ViewIncludeType) IsCssHeadInline() bool

func (ViewIncludeType) IsJsBody

func (h ViewIncludeType) IsJsBody() bool

func (ViewIncludeType) IsJsBodyInline

func (h ViewIncludeType) IsJsBodyInline() bool

func (ViewIncludeType) IsJsHead

func (h ViewIncludeType) IsJsHead() bool

func (ViewIncludeType) IsJsHeadInline

func (h ViewIncludeType) IsJsHeadInline() bool

func (ViewIncludeType) IsJsPostBody

func (h ViewIncludeType) IsJsPostBody() bool

func (ViewIncludeType) IsJsPostBodyInline

func (h ViewIncludeType) IsJsPostBodyInline() bool

Directories

Path Synopsis
module

Jump to

Keyboard shortcuts

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