errorhandler

package
v3.2.4 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2021 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package errorhandler 提供自定义错误页面的功能

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Exit

func Exit(status int)

Exit 退出当前的协程

status 表示输出的状态码,如果为 0,则不会作任何状态码输出。

Exit 最终是以 panic 的形式退出,所以如果你的代码里截获了 panic, 那么 Exit 并不能达到退出当前请求的操作。

func WriteHeader

func WriteHeader(w http.ResponseWriter, status int)

WriteHeader 写入 HTTP 状态值

通过 errorhandler 的封装之后,默认会将大于等于 400 状态值的响应重定向到指定的处理函数,如果不需要特殊处理, 可以调用此函数,按照正常流程处理。

Types

type ErrorHandler

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

ErrorHandler 错误页面处理函数管理

NOTE: 外层必须包含由 ErrorHandler.Recovery 声明的 recovery 中间件。 一旦写入由 ErrorHandler 托管的状态码,会直接中间整个中间件链的执行以 panic 的形式退出, 直接被 recovery 捕获。

func New

func New() *ErrorHandler

New 声明 ErrorHandler 变量

func (*ErrorHandler) Add

func (e *ErrorHandler) Add(f HandleFunc, status ...int) (ok bool)

Add 添加针对指定状态码的错误处理函数

NOTE: 如果指定了 400 以下的状态码,那么该状态码也会被当作错误页面进行托管。

func (*ErrorHandler) Middleware

func (e *ErrorHandler) Middleware(next http.Handler) http.Handler

Middleware 将当前中间件应用于 next

func (*ErrorHandler) MiddlewareFunc

func (e *ErrorHandler) MiddlewareFunc(next func(http.ResponseWriter, *http.Request)) http.Handler

MiddlewareFunc 将当前中间件应用于 next

func (*ErrorHandler) Recovery

Recovery 生成一个可正确处理错误页面的 recovery.RecoverFunc 函数

NOTE: ErrorHandler 最终是以特定的 panic 形式退出当前处理进程的, 所以必须要有 recover 函数捕获该 panic,否则会导致整个程序直接退出。 我们采用与 recovery 相结合的形式处理 panic,所以在 ErrorHandler 的外层必须要有一个由 ErrorHandler.Recovery 声明的 recovery.RecoverFunc 中间件。

func (*ErrorHandler) Render

func (e *ErrorHandler) Render(w http.ResponseWriter, status int)

Render 向客户端输出指定状态码的错误内容

func (*ErrorHandler) Set

func (e *ErrorHandler) Set(f HandleFunc, status ...int)

Set 添加或修改指定状态码对应的处理函数

有则修改,没有则添加,如果 f 为 nil,则表示删除该状态码的处理函数。

NOTE: 如果指定了 400 以下的状态码,那么该状态码也会被当作错误页面进行托管。

type HandleFunc

type HandleFunc func(w http.ResponseWriter, status int)

HandleFunc 错误处理函数

Jump to

Keyboard shortcuts

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