package server import ( "context" "fmt" "go.etcd.io/etcd/etcdserver/etcdserverpb" ) func (l *LimitedServer) get(ctx context.Context, r *etcdserverpb.RangeRequest) (*RangeResponse, error) { if r.Limit != 0 { return nil, fmt.Errorf("invalid combination of rangeEnd and limit, limit should be 0 got %d", r.Limit) } rev, kv, err := l.backend.Get(ctx, string(r.Key), r.Revision) if err != nil { return nil, err } resp := &RangeResponse{ Header: txnHeader(rev), } if kv != nil { resp.Kvs = []*KeyValue{kv} } return resp, nil }