Skip to content

VaultClient - Listing Secrets - Successful result is treated as failure #166

Description

@DemonicTutor

Version

5.0.01

Context

happened in this commit: 9b44682

public void list(String path, Completable<List<String>> resultHandler) {
    Objects.requireNonNull(path, "The path is required to list secrets");
    String fullPath = path + "?list=true";
    Objects.requireNonNull(resultHandler);

    read(fullPath, (res, err) -> {
      if (res != null && !(err instanceof VaultException)) {    //// <<<---- i guess this was supposed to be res == null
        resultHandler.fail(err);
      } else if (err != null) {
        if (((VaultException) err).getStatusCode() == 404) {
          resultHandler.succeed(Collections.emptyList());
        } else {
          resultHandler.fail(err);
        }
      } else {
        JsonArray keys = res.getData().getJsonArray("keys");
        if (keys == null) {
          resultHandler.fail("Cannot find keys");
        } else {
          List<String> list = new ArrayList<>();
          keys.forEach(o -> list.add((String) o));
          resultHandler.succeed(list);
        }
      }
    });
  }

Steps to reproduce

No response

Do you have a reproducer?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions