123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- package codes
- import (
- "fmt"
- "strconv"
- )
- type Code uint32
- const (
-
- OK Code = 0
-
- Canceled Code = 1
-
-
-
-
-
- Unknown Code = 2
-
-
-
-
- InvalidArgument Code = 3
-
-
-
-
-
- DeadlineExceeded Code = 4
-
-
- NotFound Code = 5
-
-
- AlreadyExists Code = 6
-
-
-
-
-
-
- PermissionDenied Code = 7
-
-
- ResourceExhausted Code = 8
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- FailedPrecondition Code = 9
-
-
-
-
-
-
- Aborted Code = 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OutOfRange Code = 11
-
-
- Unimplemented Code = 12
-
-
-
- Internal Code = 13
-
-
-
-
-
-
- Unavailable Code = 14
-
- DataLoss Code = 15
-
-
- Unauthenticated Code = 16
- _maxCode = 17
- )
- var strToCode = map[string]Code{
- `"OK"`: OK,
- `"CANCELLED"`: Canceled,
- `"UNKNOWN"`: Unknown,
- `"INVALID_ARGUMENT"`: InvalidArgument,
- `"DEADLINE_EXCEEDED"`: DeadlineExceeded,
- `"NOT_FOUND"`: NotFound,
- `"ALREADY_EXISTS"`: AlreadyExists,
- `"PERMISSION_DENIED"`: PermissionDenied,
- `"RESOURCE_EXHAUSTED"`: ResourceExhausted,
- `"FAILED_PRECONDITION"`: FailedPrecondition,
- `"ABORTED"`: Aborted,
- `"OUT_OF_RANGE"`: OutOfRange,
- `"UNIMPLEMENTED"`: Unimplemented,
- `"INTERNAL"`: Internal,
- `"UNAVAILABLE"`: Unavailable,
- `"DATA_LOSS"`: DataLoss,
- `"UNAUTHENTICATED"`: Unauthenticated,
- }
- func (c *Code) UnmarshalJSON(b []byte) error {
-
-
-
- if string(b) == "null" {
- return nil
- }
- if c == nil {
- return fmt.Errorf("nil receiver passed to UnmarshalJSON")
- }
- if ci, err := strconv.ParseUint(string(b), 10, 32); err == nil {
- if ci >= _maxCode {
- return fmt.Errorf("invalid code: %q", ci)
- }
- *c = Code(ci)
- return nil
- }
- if jc, ok := strToCode[string(b)]; ok {
- *c = jc
- return nil
- }
- return fmt.Errorf("invalid code: %q", string(b))
- }
|