// Copyright 2015 The etcd 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 command import ( "encoding/json" "fmt" "os" "go.etcd.io/etcd/client" ) // printResponseKey only supports to print key correctly. func printResponseKey(resp *client.Response, format string) { // Format the result. switch format { case "simple": if resp.Action != "delete" { fmt.Println(resp.Node.Value) } else { fmt.Println("PrevNode.Value:", resp.PrevNode.Value) } case "extended": // Extended prints in a rfc2822 style format fmt.Println("Key:", resp.Node.Key) fmt.Println("Created-Index:", resp.Node.CreatedIndex) fmt.Println("Modified-Index:", resp.Node.ModifiedIndex) if resp.PrevNode != nil { fmt.Println("PrevNode.Value:", resp.PrevNode.Value) } fmt.Println("TTL:", resp.Node.TTL) fmt.Println("Index:", resp.Index) if resp.Action != "delete" { fmt.Println("") fmt.Println(resp.Node.Value) } case "json": b, err := json.Marshal(resp) if err != nil { panic(err) } fmt.Println(string(b)) default: fmt.Fprintln(os.Stderr, "Unsupported output format:", format) } }