We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent d8ebac7 commit 8b65137Copy full SHA for 8b65137
api/v1/error.go
@@ -0,0 +1,32 @@
1
+package log_v1
2
+
3
+import (
4
+ "fmt"
5
6
+ "google.golang.org/genproto/googleapis/rpc/errdetails"
7
+ "google.golang.org/grpc/status"
8
+)
9
10
+type ErrOffsetOutOfRange struct {
11
+ Offset uint64
12
+}
13
14
+func (e ErrOffsetOutOfRange) GRPCStatus() *status.Status {
15
+ st := status.New(codes.OutOfRange, fmt.Sprintf("offset out of range: %d", e.Offset))
16
+ msg := fmt.Sprintf(
17
+ Field: "offset",
18
+ Description: fmt.Sprintf("The requested offset is outside the log's range: %d", e.Offset),
19
+ )
20
+ d := &errdetails.LocalizedMessage{
21
+ Locale: "en-US",
22
+ Message: msg,
23
+ }
24
+ std, err := st.WithDetails(d)
25
+ if err != nil {
26
+ return st
27
28
+ return std
29
30
+func (e ErrOffsetOutOfRange) Error() string {
31
+ return e.GRPCStatus().Err().Error()
32
0 commit comments