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
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);
if (serviceId == null) {
return chain.filter(exchange);

View File

@@ -87,6 +87,11 @@ public class CallbackFilter extends FizzWebFilter {
@Override
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);
if (ac != null && ac.type == ApiConfig.Type.CALLBACK) {
CallbackConfig cc = ac.callbackConfig;

View File

@@ -177,11 +177,11 @@ public abstract class WebUtils {
}
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) {
return (Map<String, FilterResult>) exchange.getAttribute(FILTER_CONTEXT);
return exchange.getAttribute(FILTER_CONTEXT);
}
public static FilterResult getFilterResult(ServerWebExchange exchange, String filter) {