environment: Unity + golang.
I want to handle a golang error as json string in exception message.
When I use Unity plugin method and RegisterBeforeXXX,
in golang:
func InitModule(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, initializer runtime.Initializer) error {
if err := initializer.RegisterBeforeAuthenticateDevice(beforeAuthenticateDevice); err != nil {
logger.Error("OPUS : Unable to register: %v", err)
return err
}
return nil
}
func beforeAuthenticateDevice(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateDeviceRequest) (*api.AuthenticateDeviceRequest, error) {
return errors.New("hello error")
}
in Unity:
I can get the exception message correctly.
ApiResponseException(StatusCode=500, Message=‘hello error’, GrpcStatusCode=13)
But when I use rpc call,
in golang:
func InitModule(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, initializer runtime.Initializer) error {
if err := initializer.RegisterRpc("GetUserInfoRPC", getUserInfoRPC); err != nil {
logger.Error("OPUS : Unable to register: %v", err)
return err
}
return nil
}
func getUserInfoRPC(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, payload string) (string, error) {
return "", errors.New("hello error")
}
in Unity:
exception message is wrong like this.
ApiResponseException(StatusCode=500, Message='System.Collections.Generic.Dictionary
2[System.String,System.Object]', GrpcStatusCode=13)`
How do I get custom error message of golang error in rpc func?