Documentation
ΒΆ
Index ΒΆ
- func PrintLogo(logoFile string)
- func PrintLogoEmbedded(fs embed.FS, path string)
- func Redirect(to string) func() Handler
- type Builder
- type Context
- func (ctx *Context) ChangeLanguage(to string)
- func (r *Context) CreateSessionCookie(user session.User)
- func (r *Context) DestroySession() error
- func (ctx *Context) GetCurrentLanguage() string
- func (ctx *Context) GetLocalizer(file string) localizer.Localizer
- func (ctx *Context) GetQueryParam(name string) string
- func (ctx *Context) GetUrlParam(name string) string
- func (ctx *Context) GetUser() session.User
- func (ctx *Context) HaveSession() bool
- func (ctx *Context) Json(status int, data interface{})
- func (ctx *Context) JsonOK(data interface{})
- func (ctx *Context) Localize(file, key string) string
- func (ctx *Context) LocalizeError(err core.UseCaseError) string
- func (ctx *Context) LocalizeWithoutShared(file, key string) string
- func (ctx *Context) PaginationToVM(pag pagination.Pagination) pagination.ViewModel
- func (ctx *Context) ParseForm(dst interface{})
- func (ctx *Context) ParseJson(dst any) error
- func (r *Context) ReadSessionCookie() (session.User, error)
- func (ctx *Context) Redirect(to string)
- func (ctx *Context) RedirectCode(to string, code int)
- func (ctx *Context) Render(status int, parsed string, vm interface{})
- func (ctx *Context) RenderOK(parsed string, vm interface{})
- func (ctx *Context) RenderWithErrors(status int, parsed string, vm interface{}, formErrors map[string]string)
- func (ctx *Context) String(status int, data string, a ...any)
- func (ctx *Context) StringOK(data string, a ...any)
- func (ctx *Context) Validate(s any) map[string]string
- type CorsConfig
- type Handler
- type Injector
- func (injector Injector) Add(builder Builder)
- func (injector Injector) CallBuilder(builder Builder) interface{}
- func (injector Injector) Get(name interface{}) interface{}
- func (injector Injector) GetByType(name reflect.Type) interface{}
- func (injector Injector) PopulateStruct(userStruct interface{})
- func (injector Injector) ResolveHandler(builder Builder) Handler
- func (injector Injector) ShowAvailableBuilders()
- type Middleware
- type Router
- func (r *Router) Add(builder Builder)
- func (r *Router) AddDefaultTemplateFunctions()
- func (r *Router) Admin() Middleware
- func (r *Router) Authorize() Middleware
- func (r *Router) AuthorizeRoles(roles []core.Role) Middleware
- func (r *Router) Bootstrap()
- func (r *Router) Delete(pattern string, builder Builder, middlewares ...Middleware)
- func (r *Router) Get(pattern string, builder Builder, middlewares ...Middleware)
- func (r *Router) Handle(method, pattern string, builder Builder, middlewares ...Middleware)
- func (r *Router) Head(pattern string, builder Builder, middlewares ...Middleware)
- func (r *Router) Options(pattern string, builder Builder, middlewares ...Middleware)
- func (r *Router) Parse(name, main string, patterns ...string)
- func (r *Router) ParsePartial(name string, patterns ...string)
- func (r *Router) Patch(pattern string, builder Builder, middlewares ...Middleware)
- func (r *Router) PopulateStruct(s interface{})
- func (r *Router) Post(pattern string, builder Builder, middlewares ...Middleware)
- func (r *Router) Put(pattern string, builder Builder, middlewares ...Middleware)
- func (r Router) Run(address string)
- func (r *Router) ShowAvailableBuilders()
- func (r *Router) ShowAvailableTemplates()
- func (r *Router) Trace(pattern string, builder Builder, middlewares ...Middleware)
- func (r *Router) Use(middleware Middleware)
- func (r *Router) UseCors(methods, origin string)
- func (r *Router) UseCsrf(expires time.Duration)
- func (r *Router) UseLocalization(files embed.FS, sharedKey, errorsKey string)
- func (r *Router) UseSession(provider session.SessionStore, duration time.Duration)
- func (r *Router) UseSessionAuth()
- func (r *Router) UseSessionAuthWithRedirection(redirectUrl string)
- func (r *Router) UseSessionInMemory(duration time.Duration)
- func (r *Router) UseSessionPostgres(db *sqlx.DB, duration time.Duration)
- func (r *Router) UseStatic(path string)
- func (r *Router) UseStaticEmbedded(fs embed.FS)
- func (r *Router) UseTemplate(fs embed.FS)
- type ViewModel
Constants ΒΆ
This section is empty.
Variables ΒΆ
This section is empty.
Functions ΒΆ
func PrintLogo ΒΆ
func PrintLogo(logoFile string)
PrintLogo takes a file path and prints your fancy ascii logo. It will fail if your file is not found.
func PrintLogoEmbedded ΒΆ added in v0.0.42
PrintLogo takes a embedded filesystem and file path and prints your fancy ascii logo. It will fail if your file is not found.
Types ΒΆ
type Builder ΒΆ
type Builder interface{}
Builder is a function that expects anything and retuns the type that builds. The type cant be func() interface{} cause some errors appears in runtime. So it's represented as an interface.
type Context ΒΆ added in v0.0.15
type Context struct { Req *http.Request Res http.ResponseWriter // contains filtered or unexported fields }
func (*Context) ChangeLanguage ΒΆ added in v0.0.25
func (*Context) CreateSessionCookie ΒΆ added in v0.0.28
func (*Context) DestroySession ΒΆ added in v0.0.28
func (*Context) GetCurrentLanguage ΒΆ added in v0.0.18
func (*Context) GetLocalizer ΒΆ added in v0.1.2
func (*Context) GetQueryParam ΒΆ added in v0.0.45
func (*Context) GetUrlParam ΒΆ added in v0.0.45
func (*Context) HaveSession ΒΆ added in v0.1.1
func (*Context) LocalizeError ΒΆ added in v0.1.1
func (ctx *Context) LocalizeError(err core.UseCaseError) string
func (*Context) LocalizeWithoutShared ΒΆ added in v0.1.1
func (*Context) PaginationToVM ΒΆ added in v0.1.2
func (ctx *Context) PaginationToVM(pag pagination.Pagination) pagination.ViewModel
func (*Context) ParseForm ΒΆ added in v0.0.18
func (ctx *Context) ParseForm(dst interface{})
ParseForm parses req.Form and then serializes the form data to the dst struct using reflection. The form names should match to the 'html' tag or, if its not setted, to the field name. ParseForm only supports serializing data to one-depth structs. Example, using this struct as target:
type MyStruct struct { A bool, B int `html:"pagination.currentPage"` }
And having this serialized form:
"A=false&pagination.currentPage=2"
Calling ParseForm like this (NOTE THAT A POINTER TO THE STRUCT IS BEING PASSED):
var s MyStruct phx.ParseForm(req, &s)
It will result to this fullfilled struct:
{ A = false, B: 2 }
The supported field types are: int, int8, int16, int32, int64, float32, float64, bool and string
func (*Context) ReadSessionCookie ΒΆ added in v0.0.28
func (*Context) RedirectCode ΒΆ added in v0.0.18
func (*Context) RenderWithErrors ΒΆ added in v0.0.15
type CorsConfig ΒΆ added in v0.0.15
type Handler ΒΆ added in v0.0.15
type Handler func(c *Context)
func HttpLogMiddleware ΒΆ added in v0.0.35
type Injector ΒΆ
type Injector struct {
// contains filtered or unexported fields
}
Injector is an automated dependency injector inspired in Sping's DI. It will detect which builder to call using its return type. If the builder haver params, it will fullfill that params calling other builders that provides its types.
func (Injector) CallBuilder ΒΆ
CallBuilder injecting all parameters with provided builders. If some parameter type cannot be found, it will panic
func (Injector) Get ΒΆ
func (injector Injector) Get(name interface{}) interface{}
Get returns a builded dependency
func (Injector) PopulateStruct ΒΆ
func (injector Injector) PopulateStruct(userStruct interface{})
PopulateStruct fills a struct with the implementations that the injector can create. Make sure you pass a reference and not a value
func (Injector) ResolveHandler ΒΆ
ResolveHandler created by a builder
func (Injector) ShowAvailableBuilders ΒΆ
func (injector Injector) ShowAvailableBuilders()
ShowAvailableBuilders prints all registered builders.
type Middleware ΒΆ
type Router ΒΆ added in v0.0.15
type Router struct {
// contains filtered or unexported fields
}
func NewRouterFromOther ΒΆ added in v0.0.15
func (*Router) AddDefaultTemplateFunctions ΒΆ added in v0.0.15
func (r *Router) AddDefaultTemplateFunctions()
func (*Router) Admin ΒΆ added in v0.0.28
func (r *Router) Admin() Middleware
func (*Router) Authorize ΒΆ added in v0.0.28
func (r *Router) Authorize() Middleware
func (*Router) AuthorizeRoles ΒΆ added in v0.0.28
func (r *Router) AuthorizeRoles(roles []core.Role) Middleware
func (*Router) Delete ΒΆ added in v0.0.15
func (r *Router) Delete(pattern string, builder Builder, middlewares ...Middleware)
func (*Router) Get ΒΆ added in v0.0.15
func (r *Router) Get(pattern string, builder Builder, middlewares ...Middleware)
func (*Router) Handle ΒΆ added in v0.0.15
func (r *Router) Handle(method, pattern string, builder Builder, middlewares ...Middleware)
func (*Router) Head ΒΆ added in v0.0.15
func (r *Router) Head(pattern string, builder Builder, middlewares ...Middleware)
func (*Router) Options ΒΆ added in v0.0.15
func (r *Router) Options(pattern string, builder Builder, middlewares ...Middleware)
func (*Router) ParsePartial ΒΆ added in v0.0.15
func (*Router) Patch ΒΆ added in v0.0.15
func (r *Router) Patch(pattern string, builder Builder, middlewares ...Middleware)
func (*Router) PopulateStruct ΒΆ added in v0.0.15
func (r *Router) PopulateStruct(s interface{})
func (*Router) Post ΒΆ added in v0.0.15
func (r *Router) Post(pattern string, builder Builder, middlewares ...Middleware)
func (*Router) Put ΒΆ added in v0.0.15
func (r *Router) Put(pattern string, builder Builder, middlewares ...Middleware)
func (*Router) ShowAvailableBuilders ΒΆ added in v0.0.15
func (r *Router) ShowAvailableBuilders()
func (*Router) ShowAvailableTemplates ΒΆ added in v0.0.22
func (r *Router) ShowAvailableTemplates()
func (*Router) Trace ΒΆ added in v0.0.15
func (r *Router) Trace(pattern string, builder Builder, middlewares ...Middleware)
func (*Router) Use ΒΆ added in v0.0.15
func (r *Router) Use(middleware Middleware)
func (*Router) UseLocalization ΒΆ added in v0.0.19
func (*Router) UseSession ΒΆ added in v0.0.27
func (r *Router) UseSession(provider session.SessionStore, duration time.Duration)
func (*Router) UseSessionAuth ΒΆ added in v0.0.28
func (r *Router) UseSessionAuth()