我正在编写一个org.springframework.cloud.gateway.filter.GatewayFilter(spring-cloud-gateway),它试图使用遵循某个任意协议的响应。响应正文遵循以下原则:
200\n
header1:value1\n
header2:header2\n
\n
<the actual body>
这个想法是,来自下游服务的整个响应元数据都在响应主体中(很像 SOAP 信封如何封装实体)。网关的客户端应收到修改后的未包装响应。
我一直在关注如何作为指导ModifyRequestBodyGatewayFilterFactory,ModifyResponseBodyGatewayFilterFactory但我认为它们不适合我的用例。
我相信我可以通过返回 的子类来实现这一点ServerHttpResponseDecorator,但我还不知道如何着手实施:
@Override
public Mono<Void> writeWith(Publisher<? extends DataBuffer> body) {
// unwrap status code
// unwrap headers
// let it continue as usual
}
慕哥6287543
相关分类