Hi Team,
I am facing one issue related to the calling and passing values from one external proc to another external proc.
If i am calling one external proc from envoy then its sending "ProcessingRequest.getRequestCase() == REQUEST_HEADER" which is perfect.
But when I added one more external proc with custom filter then my next external proc is getting ""ProcessingRequest.getRequestCase() == RESPONSE_HEADER". which is wrong for my .. I need ""ProcessingRequest.getRequestCase() == REQUEST_HEADER"" on both external proc.
Envoy --> External Proc (REQUEST_HEADER) ---- This is my old one and now introduced one more external proc.
Envoy --> External Proc -- A (REQUEST_HEADER) ---> External Proc -- B (RESPONSE_HEADER) ---- This is happening currently
Envoy --> External Proc -- A (REQUEST_HEADER) ---> External Proc -- B (REQUEST_HEADER) ---- Expecting with all the request header as like earlier one.
Please help.
Here is code ..
public HttpFilter produce(ListenerBuildConfig config) {
return HttpFilter.newBuilder()
.setName(EXT_PROC_START_AUDIT_ORDER)
.setTypedConfig(Any.pack(
ExternalProcessor.newBuilder()
.setGrpcService(GrpcService.newBuilder()
.setEnvoyGrpc(GrpcService.EnvoyGrpc.newBuilder()
.setClusterName(CLUSTER_NAME)
.build())
.setTimeout(Duration.newBuilder().setSeconds(5).build())
.build())
.setAllowModeOverride(true) // This is required to override the static processing mode
.setObservabilityMode(true)
.setProcessingMode(ProcessingMode.newBuilder()
.setRequestHeaderMode(ProcessingMode.HeaderSendMode.SEND)
.setResponseHeaderMode(ProcessingMode.HeaderSendMode.SEND)
.setRequestBodyMode(ProcessingMode.BodySendMode.STREAMED)
.setResponseBodyMode(ProcessingMode.BodySendMode.STREAMED)
.setRequestTrailerMode(ProcessingMode.HeaderSendMode.SKIP)
.setResponseTrailerMode(ProcessingMode.HeaderSendMode.SKIP)
.build())
.build()
)
)
.build();
}
Hi Team,
I am facing one issue related to the calling and passing values from one external proc to another external proc.
If i am calling one external proc from envoy then its sending "ProcessingRequest.getRequestCase() == REQUEST_HEADER" which is perfect.
But when I added one more external proc with custom filter then my next external proc is getting ""ProcessingRequest.getRequestCase() == RESPONSE_HEADER". which is wrong for my .. I need ""ProcessingRequest.getRequestCase() == REQUEST_HEADER"" on both external proc.
Envoy --> External Proc (REQUEST_HEADER) ---- This is my old one and now introduced one more external proc.
Envoy --> External Proc -- A (REQUEST_HEADER) ---> External Proc -- B (RESPONSE_HEADER) ---- This is happening currently
Envoy --> External Proc -- A (REQUEST_HEADER) ---> External Proc -- B (REQUEST_HEADER) ---- Expecting with all the request header as like earlier one.
Please help.
Here is code ..
public HttpFilter produce(ListenerBuildConfig config) {
return HttpFilter.newBuilder()
.setName(EXT_PROC_START_AUDIT_ORDER)
.setTypedConfig(Any.pack(
ExternalProcessor.newBuilder()
.setGrpcService(GrpcService.newBuilder()
.setEnvoyGrpc(GrpcService.EnvoyGrpc.newBuilder()
.setClusterName(CLUSTER_NAME)
.build())
.setTimeout(Duration.newBuilder().setSeconds(5).build())
.build())
.setAllowModeOverride(true) // This is required to override the static processing mode
.setObservabilityMode(true)
.setProcessingMode(ProcessingMode.newBuilder()
.setRequestHeaderMode(ProcessingMode.HeaderSendMode.SEND)
.setResponseHeaderMode(ProcessingMode.HeaderSendMode.SEND)
.setRequestBodyMode(ProcessingMode.BodySendMode.STREAMED)
.setResponseBodyMode(ProcessingMode.BodySendMode.STREAMED)
.setRequestTrailerMode(ProcessingMode.HeaderSendMode.SKIP)
.setResponseTrailerMode(ProcessingMode.HeaderSendMode.SKIP)
.build())
.build()
)
)
.build();
}