Release v0.5.10
Pre-release
Pre-release
Now you can use Error to deconstruct error. See example below:
package main
import (
"context"
"fmt"
"github.com/rsocket/rsocket-go"
"github.com/rsocket/rsocket-go/payload"
)
func main() {
client, _ := rsocket.Connect().Transport("tcp://127.0.0.1:7878").Start(context.Background())
_, _ = client.RequestResponse(payload.NewString("hello", "world")).
DoOnError(func(e error) {
// Deconstruct error here:
if err, ok := e.(rsocket.Error); ok {
fmt.Println("error code:", err.ErrorCode())
fmt.Println("error data:", string(err.ErrorData()))
}
}).
Block(context.Background())
}