in pkg/client/store.go [87:115]
func (c *storeClientTx) GetKey(ctx context.Context, name string) ([]byte, bool, error) {
if c.brokenErr != nil {
return nil, false, ErrStoreTxBroken
}
if c.discarded {
return nil, false, ErrStoreTxDiscarded
}
if c.committed {
return nil, false, ErrStoreTxCommitted
}
res, err := c.client.client.storeClient.GetKey(ctx, &proto.StoreGetKeyRequest{
Token: c.client.client.token,
TxId: c.txID,
Name: name,
})
if err != nil {
c.brokenErr = err
return nil, false, err
}
switch res.Status {
case proto.StoreGetKeyResponse_FOUND:
return res.Value, true, nil
case proto.StoreGetKeyResponse_NOT_FOUND:
return nil, false, nil
}
err = errors.New("unknown StoreGetKeyResponseStatus")
c.brokenErr = err
return nil, false, err
}