handler

package
v12.2.0-alpha9 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2022 License: BSD-3-Clause Imports: 4 Imported by: 2

Documentation

Overview

Package handler is the highest level module of the macro package which makes use the rest of the macro package, it is mainly used, internally, by the router package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CanMakeHandler

func CanMakeHandler(tmpl macro.Template) (needsMacroHandler bool)

CanMakeHandler reports whether a macro template needs a special macro's evaluator handler to be validated before procceed to the next handler(s). If the template does not contain any dynamic attributes and a special handler is NOT required then it returns false.

func MakeFilter

func MakeFilter(tmpl macro.Template) context.Filter

MakeFilter returns a Filter which reports whether a specific macro template and its parameters pass the serve-time validation.

func MakeHandler

func MakeHandler(tmpl macro.Template) context.Handler

MakeHandler creates and returns a handler from a macro template, the handler evaluates each of the parameters if necessary at all. If the template does not contain any dynamic attributes and a special handler is NOT required then it returns a nil handler.

Types

type ParamErrorHandler added in v12.2.0

type ParamErrorHandler = func(*context.Context, int, error) // alias.

ParamErrorHandler is a special type of Iris handler which receives any error produced by a path type parameter evaluator and let developers customize the output instead of the provided error code 404 or anyother status code given on the `else` literal.

Note that the builtin macros return error too, but they're handled by the `else` literal (error code). To change this behavior and send a custom error response you have to register it:

app.Macros().Get("uuid").HandleError(func(ctx iris.Context, paramIndex int, err error)).

You can also set custom macros by `app.Macros().Register`.

See macro.HandleError to set it.

Jump to

Keyboard shortcuts

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