Compatible with processing result of legacy plugin

This commit is contained in:
hongqiaowei
2021-09-04 17:31:31 +08:00
parent 7e9eeef834
commit 76275ecdbf
3 changed files with 12 additions and 2 deletions

View File

@@ -82,6 +82,11 @@ public class AggregateFilter implements WebFilter {
@Override @Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) { public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
FilterResult pfr = WebUtils.getPrevFilterResult(exchange);
if (!pfr.success) {
return WebUtils.getDirectResponse(exchange);
}
String serviceId = WebUtils.getBackendService(exchange); String serviceId = WebUtils.getBackendService(exchange);
if (serviceId == null) { if (serviceId == null) {
return chain.filter(exchange); return chain.filter(exchange);

View File

@@ -87,6 +87,11 @@ public class CallbackFilter extends FizzWebFilter {
@Override @Override
public Mono<Void> doFilter(ServerWebExchange exchange, WebFilterChain chain) { public Mono<Void> doFilter(ServerWebExchange exchange, WebFilterChain chain) {
FilterResult pfr = WebUtils.getPrevFilterResult(exchange);
if (!pfr.success) {
return WebUtils.getDirectResponse(exchange);
}
ApiConfig ac = WebUtils.getApiConfig(exchange); ApiConfig ac = WebUtils.getApiConfig(exchange);
if (ac != null && ac.type == ApiConfig.Type.CALLBACK) { if (ac != null && ac.type == ApiConfig.Type.CALLBACK) {
CallbackConfig cc = ac.callbackConfig; CallbackConfig cc = ac.callbackConfig;

View File

@@ -177,11 +177,11 @@ public abstract class WebUtils {
} }
public static Mono<Void> getDirectResponse(ServerWebExchange exchange) { public static Mono<Void> getDirectResponse(ServerWebExchange exchange) {
return (Mono<Void>) exchange.getAttributes().get(WebUtils.directResponse); return exchange.getAttribute(WebUtils.directResponse);
} }
public static Map<String, FilterResult> getFilterContext(ServerWebExchange exchange) { public static Map<String, FilterResult> getFilterContext(ServerWebExchange exchange) {
return (Map<String, FilterResult>) exchange.getAttribute(FILTER_CONTEXT); return exchange.getAttribute(FILTER_CONTEXT);
} }
public static FilterResult getFilterResult(ServerWebExchange exchange, String filter) { public static FilterResult getFilterResult(ServerWebExchange exchange, String filter) {