Documentation
¶
Overview ¶
Package errorhandler 提供自定义错误页面的功能
Index ¶
- func WriteHeader(w http.ResponseWriter, status int)
- type ErrorHandler
- func (e *ErrorHandler) Add(f HandleFunc, status ...int) (ok bool)
- func (e *ErrorHandler) Exists(status int) bool
- func (e *ErrorHandler) Exit(w http.ResponseWriter, status int)
- func (e *ErrorHandler) Middleware(next http.Handler) http.Handler
- func (e *ErrorHandler) MiddlewareFunc(next func(http.ResponseWriter, *http.Request)) http.Handler
- func (e *ErrorHandler) Render(w io.Writer, status int)
- func (e *ErrorHandler) Renderer() middleware.MiddlewareFunc
- func (e *ErrorHandler) Set(f HandleFunc, status ...int)
- type HandleFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WriteHeader ¶
func WriteHeader(w http.ResponseWriter, status int)
WriteHeader 写入 HTTP 状态值
通过 errorhandler 的封装之后,默认会将注册的状态码 响应重定向到指定的处理函数, 如果不需要特殊处理,可以调用此函数,按照正常流程处理。
Types ¶
type ErrorHandler ¶
type ErrorHandler struct {
// contains filtered or unexported fields
}
ErrorHandler 错误页面处理函数管理
一旦写入由 ErrorHandler 托管的状态码,会直接中间整个中间件链的执行以 panic 的形式退出。
func (*ErrorHandler) Add ¶
func (e *ErrorHandler) Add(f HandleFunc, status ...int) (ok bool)
Add 添加针对指定状态码的错误处理函数
NOTE: 如果指定了 400 以下的状态码,那么该状态码也会被当作错误页面进行托管。
func (*ErrorHandler) Exists ¶
func (e *ErrorHandler) Exists(status int) bool
Exists 指定状态码对应的处理函数是否存在
func (*ErrorHandler) Exit ¶
func (e *ErrorHandler) Exit(w http.ResponseWriter, status int)
Exit 以指定的状态码退出当前的协程
Exit 最终是以 panic 的形式退出,所以如果你的代码里截获了 panic, 那么 Exit 并不能达到退出当前请求的操作。
func (*ErrorHandler) Middleware ¶
func (e *ErrorHandler) Middleware(next http.Handler) http.Handler
func (*ErrorHandler) MiddlewareFunc ¶
func (e *ErrorHandler) MiddlewareFunc(next func(http.ResponseWriter, *http.Request)) http.Handler
func (*ErrorHandler) Render ¶
func (e *ErrorHandler) Render(w io.Writer, status int)
Render 向客户端输出指定状态码的错误内容
func (*ErrorHandler) Renderer ¶
func (e *ErrorHandler) Renderer() middleware.MiddlewareFunc
Renderer 返回一个用于输出错误页面的中间件
此中间件应该在 ErrorHandler 中间件的外层调用, 只有这样 ErrorHandler 抛出的代码才能被捕获。
func (*ErrorHandler) Set ¶
func (e *ErrorHandler) Set(f HandleFunc, status ...int)
Set 添加或修改指定状态码对应的处理函数
有则修改,没有则添加,如果 f 为 nil,则表示删除该状态码的处理函数。
NOTE: 如果指定了 400 以下的状态码,那么该状态码也会被当作错误页面进行托管。
Click to show internal directories.
Click to hide internal directories.