golazy.dev
–
golazy.dev
/
lazycontroller
Index
|
Files
package lazycontroller
import "golazy.dev/lazycontroller"
Functions
func Error
func Error(status int, err error) error
func ErrorHandler
func ErrorHandler(ctx context.Context) func(http.Handler) http.Handler
func PanicError
func PanicError(recovered any) error
func ReportController
func ReportController(r *http.Request, controller any) bool
func ReportError
func ReportError(r *http.Request, controller any, err error) bool
func ResetResponse
func ResetResponse(w http.ResponseWriter) bool
func StatusCode
func StatusCode(err error) int
func WasResponseSent
func WasResponseSent(w http.ResponseWriter) bool
func WithErrorPages
func WithErrorPages(ctx context.Context, files fs.FS) context.Context
func WithRenderer
func WithRenderer(ctx context.Context, renderer *Renderer) context.Context
func WriteError
func WriteError(w http.ResponseWriter, _ *http.Request, err error)
func WriteErrorFallback
func WriteErrorFallback(ctx context.Context, w http.ResponseWriter, r *http.Request) bool
func WriteErrorPage
func WriteErrorPage(ctx context.Context, w http.ResponseWriter, r *http.Request, status int) bool
func WriteFile
func WriteFile(ctx context.Context, w http.ResponseWriter, r *http.Request, file string, status int) error
Types
type Base
type Base struct {
// contains filtered or unexported fields
}
func NewBase
func NewBase(ctx context.Context, viewPath ...string) (Base, error)
func (b *Base) BindRequest
func (b *Base) BindRequest(w http.ResponseWriter, r *http.Request, route lazyview.Route) error
func (b *Base) HandleError
func (b *Base) HandleError(w http.ResponseWriter, r *http.Request, err error) error
func (b *Base) Helper
func (b *Base) Helper(name string, helper any)
func (b *Base) Helpers
func (b *Base) Helpers(helpers map[string]any)
func (b *Base) Render
func (b *Base) Render(view string) error
func (b *Base) Request
func (b *Base) Request() *http.Request
func (b *Base) ResetRequest
func (b *Base) ResetRequest()
func (b *Base) ReturnFile
func (b *Base) ReturnFile(file string, status int) error
func (b *Base) ServeErrorPage
func (b *Base) ServeErrorPage(w http.ResponseWriter, r *http.Request, status int) bool
func (b *Base) Set
func (b *Base) Set(name string, value any)
func (b *Base) SetLayout
func (b *Base) SetLayout(layout string)
type BeforeAction
type BeforeAction interface {
BeforeAction() error
}
type HTTPError
type HTTPError struct {
Status int
Err error
}
func (e *HTTPError) Error
func (e *HTTPError) Error() string
func (e *HTTPError) Unwrap
func (e *HTTPError) Unwrap() error
type Renderer
Renderer is the application view renderer.
type Renderer = lazyview.Views
func NewRenderer
func NewRenderer(views fs.FS) (*Renderer, error)
type RequestBinder
RequestBinder prepares a controller instance for one request.
type RequestBinder interface {
BindRequest(http.ResponseWriter, *http.Request, lazyview.Route) error
}
type RequestResetter
RequestResetter clears request-specific references before a controller returns to a pool.
type RequestResetter interface {
ResetRequest()
}
BeforeAction runs after request binding and before the routed action.