From ed703f6e5328809227839595edaa9a45b79f9f1d Mon Sep 17 00:00:00 2001 From: Stefan Kalscheuer Date: Thu, 13 Apr 2017 19:49:47 +0200 Subject: [PATCH] Implement AutoCloseable --- CHANGELOG.md | 1 + .../de/stklcode/jvault/connector/HTTPVaultConnector.java | 9 ++++++++- .../de/stklcode/jvault/connector/VaultConnector.java | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5573dd..796d3d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ * [feature] Initialization from environment variables using `fromEnv()` in factory (#8) * [feature] Automatic authentication with `buildAndAuth()` * [feature] Custom timeout and number of retries (#9) +* [feature] Connector implements `AutoCloseable` * [fix] `SecretResponse` does not throw NPE on `get(key)` and `getData()` ## 0.5.0 [2017-03-18] diff --git a/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnector.java b/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnector.java index f63dbe9..7527919 100644 --- a/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnector.java +++ b/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnector.java @@ -67,7 +67,7 @@ public class HTTPVaultConnector implements VaultConnector { private final String baseURL; /* Base URL of Vault */ private final SSLContext sslContext; /* Custom SSLSocketFactory */ private final int retries; /* Number of retries on 5xx errors */ - private final Integer timeout; /* Timeout in milliseconds */ + private final Integer timeout; /* Timeout in milliseconds */ private boolean authorized = false; /* authorization status */ private String token; /* current token */ @@ -610,6 +610,13 @@ public class HTTPVaultConnector implements VaultConnector { return createTokenInternal(token, PATH_TOKEN + PATH_CREATE + "/" + role); } + @Override + public void close() { + authorized = false; + token = null; + tokenTTL = 0; + } + /** * Create token. * Centralized method to handle different token creation requests. diff --git a/src/main/java/de/stklcode/jvault/connector/VaultConnector.java b/src/main/java/de/stklcode/jvault/connector/VaultConnector.java index 07d7e7e..d18616e 100644 --- a/src/main/java/de/stklcode/jvault/connector/VaultConnector.java +++ b/src/main/java/de/stklcode/jvault/connector/VaultConnector.java @@ -30,7 +30,7 @@ import java.util.*; * @author Stefan Kalscheuer * @since 0.1 */ -public interface VaultConnector { +public interface VaultConnector extends AutoCloseable { String PATH_SECRET = "secret"; /**