From f67f6d7c7c9c5d03b5605672302d46885587ad19 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Tue, 12 Jan 2016 17:20:35 -0800 Subject: [PATCH] client: add IsKeyNotFound function This can be used to check if an error is client.ErrorCodeKeyNotFound. Related to https://github.com/coreos/etcd/issues/4080. --- client/util.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 client/util.go diff --git a/client/util.go b/client/util.go new file mode 100644 index 000000000..fc0800b3d --- /dev/null +++ b/client/util.go @@ -0,0 +1,23 @@ +// Copyright 2016 CoreOS, Inc. +// +// 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 client + +// IsKeyNotFound returns true if the error code is ErrorCodeKeyNotFound. +func IsKeyNotFound(err error) bool { + if cErr, ok := err.(Error); ok { + return cErr.Code == ErrorCodeKeyNotFound + } + return false +}