IsInitialized > walletLoaded & panic recovery (#266)

* isInitialized update
update walletInitialized to return true is walled.db exist,
add walletLoaded that check if wallet property is nil

* panic handler
This commit is contained in:
Dusan Sekulic
2024-08-19 18:57:52 +02:00
committed by GitHub
parent 250dd7eea2
commit 07139786e6
4 changed files with 404 additions and 15 deletions

View File

@@ -0,0 +1,45 @@
package interceptors
import (
"context"
"runtime/debug"
log "github.com/sirupsen/logrus"
"google.golang.org/grpc"
)
func unaryPanicRecoveryInterceptor() grpc.UnaryServerInterceptor {
return func(
ctx context.Context,
req interface{},
info *grpc.UnaryServerInfo,
handler grpc.UnaryHandler,
) (interface{}, error) {
defer func() {
if r := recover(); r != nil {
log.Errorf("panic-recovery middleware recovered from panic: %v", r)
log.Tracef("panic-recovery middleware recovered from panic: %v", string(debug.Stack()))
}
}()
return handler(ctx, req)
}
}
func streamPanicRecoveryInterceptor() grpc.StreamServerInterceptor {
return func(
srv interface{},
stream grpc.ServerStream,
info *grpc.StreamServerInfo,
handler grpc.StreamHandler,
) error {
defer func() {
if r := recover(); r != nil {
log.Errorf("panic-recovery middleware recovered from panic: %v", r)
log.Tracef("panic-recovery middleware recovered from panic: %v", string(debug.Stack()))
}
}()
return handler(srv, stream)
}
}