You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

20 lines
339 B

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
}
}
}