diff --git a/pkg/remote/trans/nphttp2/codes/code_string.go b/pkg/remote/trans/nphttp2/codes/code_string.go new file mode 100644 index 0000000000..65074b7524 --- /dev/null +++ b/pkg/remote/trans/nphttp2/codes/code_string.go @@ -0,0 +1,64 @@ +/* + * + * Copyright 2017 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package codes + +import ( + "strconv" +) + +func (c Code) String() string { + switch c { + case OK: + return "OK" + case Canceled: + return "Canceled" + case Unknown: + return "Unknown" + case InvalidArgument: + return "InvalidArgument" + case DeadlineExceeded: + return "DeadlineExceeded" + case NotFound: + return "NotFound" + case AlreadyExists: + return "AlreadyExists" + case PermissionDenied: + return "PermissionDenied" + case ResourceExhausted: + return "ResourceExhausted" + case FailedPrecondition: + return "FailedPrecondition" + case Aborted: + return "Aborted" + case OutOfRange: + return "OutOfRange" + case Unimplemented: + return "Unimplemented" + case Internal: + return "Internal" + case Unavailable: + return "Unavailable" + case DataLoss: + return "DataLoss" + case Unauthenticated: + return "Unauthenticated" + default: + return "Code(" + strconv.FormatInt(int64(c), 10) + ")" + } +} diff --git a/pkg/remote/trans/nphttp2/codes/codes_test.go b/pkg/remote/trans/nphttp2/codes/codes_test.go index 006d62f7be..35a712a49a 100644 --- a/pkg/remote/trans/nphttp2/codes/codes_test.go +++ b/pkg/remote/trans/nphttp2/codes/codes_test.go @@ -50,3 +50,7 @@ func TestUnmarshalJSON(t *testing.T) { err = code.UnmarshalJSON([]byte("\"DATA_LOSS\"")) test.Assert(t, err != nil, err) } + +func TestCodeString(t *testing.T) { + test.Assert(t, OK.String() == "OK") +}