recovery

package
v2.0.0-...-986973b Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package recovery is a middleware that recovers from panics and logs the panic message.

`recovery` are interceptors that recover from gRPC handler panics.

Server Side Recovery Middleware

By default a panic will be converted into a gRPC error with `code.Internal`.

Handling can be customised by providing an alternate recovery function.

Please see examples for simple examples of use.

Example (Initialization)

Initialization shows an initialization sequence with a custom recovery handler func.

Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func StreamServerInterceptor

func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor

StreamServerInterceptor returns a new streaming server interceptor for panic recovery.

func UnaryServerInterceptor

func UnaryServerInterceptor(opts ...Option) grpc.UnaryServerInterceptor

UnaryServerInterceptor returns a new unary server interceptor for panic recovery.

Types

type Option

type Option func(*options)

func WithRecoveryHandler

func WithRecoveryHandler(f RecoveryHandlerFunc) Option

WithRecoveryHandler customizes the function for recovering from a panic.

func WithRecoveryHandlerContext

func WithRecoveryHandlerContext(f RecoveryHandlerFuncContext) Option

WithRecoveryHandlerContext customizes the function for recovering from a panic.

type PanicError

type PanicError struct {
	Panic any
	Stack []byte
}

func (*PanicError) Error

func (e *PanicError) Error() string

type RecoveryHandlerFunc

type RecoveryHandlerFunc func(p any) (err error)

RecoveryHandlerFunc is a function that recovers from the panic `p` by returning an `error`.

type RecoveryHandlerFuncContext

type RecoveryHandlerFuncContext func(ctx context.Context, p any) (err error)

RecoveryHandlerFuncContext is a function that recovers from the panic `p` by returning an `error`. The context can be used to extract request scoped metadata and context values.

Jump to

Keyboard shortcuts

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