GH-1248 Add support for passing host/port to Grps MessageRoutingCallback

Resolves #1248
This commit is contained in:
Oleg Zhurakousky
2025-03-14 16:50:39 +01:00
parent 7e933b7138
commit 148d23e964

View File

@@ -37,11 +37,23 @@ public class GrpcFunctionAutoConfiguration {
public static String GRPC_INVOKER_FUNCTION = "grpcInvokerFunction";
public static String GRPC = "grpc";
public static String GRPC_HOST = "grpcHost";
public static String GRPC_PORT = "grpcPort";
@Bean
public Function<Message<byte[]>, Message<?>> grpcInvokerFunction() {
return input -> {
return GrpcUtils.requestReply(input);
return message -> {
if (message.getHeaders().containsKey(GRPC_HOST)) {
String host = (String) message.getHeaders().get(GRPC_HOST);
int port = message.getHeaders().get(GRPC_PORT) instanceof String stringPort
? Integer.parseInt(stringPort)
: (int)message.getHeaders().get(GRPC_PORT);
return GrpcUtils.requestReply(host, port, message);
}
return GrpcUtils.requestReply(message);
};
}