package
1.7.0
Repository: https://github.com/issue9/middleware.git
Documentation: pkg.go.dev

# Packages

Package errorhandler 提供自定义错误处理功能 net/http 包中对于错误的处理是通过 http.Error() 进行的, 我们无法直接修改该方法,实现自定义的错误处理功能。 只能对 http.ResponseWriter.WriteHeader() 进行自定义, 在指定的状态下,抛出异常,再通过 recover 实现错误处理。 需要注意的是,如果采用了当前包的方案,那么默认情况下, 所有大于 400 的 WriteHeader 操作,都会被 panic, 如果你对某些操作不想按正常流程处理,可以使用 errorhandler.WriteHeader 代替默认的 ResponseWriter.WriteHeader 操作。.

# Functions

New 声明一个处理 panic 操作的中间件 next 参数中发生的 panic 将被截获并处理,不会再向上级反映。 当 next 参数为空时,将直接 panic。 rf 参数用于指定处理 panic 信息的函数,其原型为 RecoverFunc, 当将 rf 指定为 nil 时,将使用默认的处理函数,仅仅向客户端输出 500 的错误信息,没有具体内容。.
PrintDebug 是 RecoverFunc 类型的实现 方便 New 在调试期间将函数的调用信息输出到 w。.

# Type aliases

RecoverFunc 错误处理函数 Recovery 需要此函数作为出错时的处理。 msg 为输出的错误信息,可能是任意类型的数据,一般为从 recover() 返回的数据。.