From 9d2e2884fcb0a5ba364e05cfd6d4763576b84a6e Mon Sep 17 00:00:00 2001 From: ST-DDT Date: Sat, 25 Nov 2023 15:54:49 +0100 Subject: [PATCH] fix: run dynamic call credentials via executor --- .../boot/grpc/client/security/CallCredentialsHelper.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/grpc-client-spring-boot-autoconfigure/src/main/java/net/devh/boot/grpc/client/security/CallCredentialsHelper.java b/grpc-client-spring-boot-autoconfigure/src/main/java/net/devh/boot/grpc/client/security/CallCredentialsHelper.java index f9c46446a..a32eafb74 100644 --- a/grpc-client-spring-boot-autoconfigure/src/main/java/net/devh/boot/grpc/client/security/CallCredentialsHelper.java +++ b/grpc-client-spring-boot-autoconfigure/src/main/java/net/devh/boot/grpc/client/security/CallCredentialsHelper.java @@ -340,7 +340,13 @@ private static final class DynamicSecurityHeaderCallCredentials extends CallCred @Override public void applyRequestMetadata(final RequestInfo requestInfo, final Executor appExecutor, final MetadataApplier applier) { - applier.apply(this.extraHeadersSupplier.get()); + appExecutor.execute(() -> { + try { + applier.apply(this.extraHeadersSupplier.get()); + } catch (RuntimeException e) { + applier.fail(Status.UNAUTHENTICATED.withCause(e)); + } + }); } @Override