Pre Merge pull request !92 from 乎音乐/dev-hxy
commit
46202f2915
|
|
@ -13,7 +13,7 @@ import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解决 Spring Cloud Gateway 2.x 跨域时,出现重复 Origin 的 BUG
|
* 解决 Spring Cloud Gateway 2.x 跨域时,出现重复 Origin 的 BUG
|
||||||
*
|
* <p>
|
||||||
* 参考文档:<a href="https://blog.csdn.net/zimou5581/article/details/90043178" />
|
* 参考文档:<a href="https://blog.csdn.net/zimou5581/article/details/90043178" />
|
||||||
*
|
*
|
||||||
* @author 芋道源码
|
* @author 芋道源码
|
||||||
|
|
@ -30,7 +30,7 @@ public class CorsResponseHeaderFilter implements GlobalFilter, Ordered {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
|
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
|
||||||
return chain.filter(exchange).then(Mono.defer(() -> {
|
return chain.filter(exchange).then(Mono.fromRunnable(() -> {
|
||||||
exchange.getResponse().getHeaders().entrySet().stream()
|
exchange.getResponse().getHeaders().entrySet().stream()
|
||||||
.filter(kv -> (kv.getValue() != null && kv.getValue().size() > 1))
|
.filter(kv -> (kv.getValue() != null && kv.getValue().size() > 1))
|
||||||
.filter(kv -> (kv.getKey().equals(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN)
|
.filter(kv -> (kv.getKey().equals(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN)
|
||||||
|
|
@ -38,7 +38,6 @@ public class CorsResponseHeaderFilter implements GlobalFilter, Ordered {
|
||||||
.forEach(kv -> kv.setValue(new ArrayList<String>() {{
|
.forEach(kv -> kv.setValue(new ArrayList<String>() {{
|
||||||
add(kv.getValue().get(0));
|
add(kv.getValue().get(0));
|
||||||
}}));
|
}}));
|
||||||
return chain.filter(exchange);
|
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue