package middleware import ( "context" "fmt" ) func Recover() Middleware { return func(handler Handler) Handler { return func(ctx context.Context, a any) (res any, err error) { go func() { if rev := recover(); rev != nil { err = fmt.Errorf("recover %v", rev) } }() res, err = handler(ctx, a) return } } }