Add dapr api token as system property

This commit is contained in:
pruthvidhodda 2020-08-31 14:52:53 -07:00
parent 59639eb328
commit a0aa264ab9
4 changed files with 15 additions and 8 deletions

View File

@ -489,8 +489,7 @@ public class DaprClientGrpc extends AbstractDaprClient {
headers.put(Key.of("grpc-trace-bin", Metadata.BINARY_BYTE_MARSHALLER), grpcTraceBin);
}
String daprApiToken = Properties.getStringOrDefault(Constants.DAPR_API_TOKEN,
Constants.DAPR_API_TOKEN, null);
String daprApiToken = Properties.DAPR_API_TOKEN.get();
if (daprApiToken != null) {
headers.put(Key.of(Constants.DAPR_API_TOKEN_HEADER, Metadata.ASCII_STRING_MARSHALLER), daprApiToken);
}

View File

@ -260,7 +260,7 @@ public class DaprHttp implements Closeable {
requestBuilder.method(method, body);
}
String daprApiToken = Properties.getStringOrDefault(Constants.DAPR_API_TOKEN, Constants.DAPR_API_TOKEN, null);
String daprApiToken = Properties.DAPR_API_TOKEN.get();
if (daprApiToken != null) {
requestBuilder.addHeader(Constants.DAPR_API_TOKEN_HEADER, daprApiToken);
}

View File

@ -35,6 +35,13 @@ public class Properties {
*/
private static final String DEFAULT_STRING_CHARSET = StandardCharsets.UTF_8.name();
/**
* API token for Dapr after checking system property and environment variable.
*/
public static final Supplier<String> DAPR_API_TOKEN = () -> getStringOrDefault(
"dapr.api.token",
Constants.DAPR_API_TOKEN, null);
/**
* HTTP port for Dapr after checking system property and environment variable.
*/
@ -70,7 +77,7 @@ public class Properties {
*
* @return Integer from system property (1st) or env variable (2nd) or default (last).
*/
public static Integer getIntOrDefault(String propName, String envName, Integer defaultValue) {
private static Integer getIntOrDefault(String propName, String envName, Integer defaultValue) {
return getValueOrDefault(propName, envName, defaultValue, s -> Integer.valueOf(s));
}
@ -82,7 +89,7 @@ public class Properties {
*
* @return Boolean from system property (1st) or env variable (2nd) or default (last).
*/
public static Boolean getBooleanOrDefault(String propName, String envName, Boolean defaultValue) {
private static Boolean getBooleanOrDefault(String propName, String envName, Boolean defaultValue) {
return getValueOrDefault(propName, envName, defaultValue, s -> Boolean.valueOf(s));
}
@ -94,7 +101,7 @@ public class Properties {
*
* @return String from system property (1st) or env variable (2nd) or default (last).
*/
public static String getStringOrDefault(String propName, String envName, String defaultValue) {
private static String getStringOrDefault(String propName, String envName, String defaultValue) {
return getValueOrDefault(propName, envName, defaultValue, s -> s);
}

View File

@ -6,6 +6,7 @@ package io.dapr.client;
import io.dapr.exceptions.DaprException;
import io.dapr.utils.Constants;
import io.dapr.utils.Properties;
import io.grpc.Context;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
@ -54,7 +55,7 @@ public class DaprHttpTest {
.hasHeader(Constants.DAPR_API_TOKEN_HEADER)
.respond(serializer.serialize(EXPECTED_RESULT));
environmentVariables.set(Constants.DAPR_API_TOKEN, "xyz");
assertEquals("xyz", System.getenv(Constants.DAPR_API_TOKEN));
assertEquals("xyz", Properties.DAPR_API_TOKEN.get());
DaprHttp daprHttp = new DaprHttp(3500, okHttpClient);
Mono<DaprHttp.Response> mono =
daprHttp.invokeApi("POST", "v1.0/state", null, (byte[]) null, null, Context.current());
@ -70,7 +71,7 @@ public class DaprHttpTest {
.not()
.hasHeader(Constants.DAPR_API_TOKEN_HEADER)
.respond(serializer.serialize(EXPECTED_RESULT));
assertNull(System.getenv(Constants.DAPR_API_TOKEN));
assertNull(Properties.DAPR_API_TOKEN.get());
DaprHttp daprHttp = new DaprHttp(3500, okHttpClient);
Mono<DaprHttp.Response> mono =
daprHttp.invokeApi("POST", "v1.0/state", null, (byte[]) null, null, Context.current());