docs: def get(self, key, metadata=False, sort_order=None,
              sort_target=None, **kwargs):
          """Range gets the keys in the range from the key-value store.
  
          :param key:
          :param metadata:
          :param sort_order: 'ascend' or 'descend' or None
          :param sort_target: 'key' or 'version' or 'create' or 'mod' or 'value'
          :param kwargs:
          :return:
          """
          try:
              order = 0
              if sort_order:
                  order = _SORT_ORDER.index(sort_order)
          except ValueError:
              raise ValueError('sort_order must be one of "ascend" or "descend"')
  
          try:
              target = 0
              if sort_target:
                  target = _SORT_TARGET.index(sort_target)
          except ValueError:
              raise ValueError('sort_target must be one of "key", '
                               '"version", "create", "mod" or "value"')
  
          payload = {
              "key": _encode(key),
              "sort_order": order,
              "sort_target": target,
          }
          payload.update(kwargs)
          result = self.post(self.get_url("/kv/range"),
                             json=payload)
          if 'kvs' not in result:
              return []
  
          if metadata:
              def value_with_metadata(item):
                  item['key'] = _decode(item['key'])
                  value = _decode(item.pop('value'))
                  return value, item
  
              return [value_with_metadata(item) for item in result['kvs']]
          else:
              return [_decode(item['value']) for item in result['kvs']]