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
|
||||
*
|
||||
* <p>
|
||||
* 参考文档:<a href="https://blog.csdn.net/zimou5581/article/details/90043178" />
|
||||
*
|
||||
* @author 芋道源码
|
||||
|
|
@ -30,7 +30,7 @@ public class CorsResponseHeaderFilter implements GlobalFilter, Ordered {
|
|||
|
||||
@Override
|
||||
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()
|
||||
.filter(kv -> (kv.getValue() != null && kv.getValue().size() > 1))
|
||||
.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>() {{
|
||||
add(kv.getValue().get(0));
|
||||
}}));
|
||||
return chain.filter(exchange);
|
||||
}));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue