From 2a70b0e950851763e3690a948c87464d77bf21ba Mon Sep 17 00:00:00 2001 From: "Shanyou Yu (Sean Yu)" Date: Thu, 30 Mar 2023 11:01:39 +0800 Subject: [PATCH] fix: fix PolarisRouterServiceInstanceListSupplier npe with reactive feign (#925) --- .../PolarisRouterServiceInstanceListSupplier.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/PolarisRouterServiceInstanceListSupplier.java b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/PolarisRouterServiceInstanceListSupplier.java index 9202bcb9a..7f5b1af89 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/PolarisRouterServiceInstanceListSupplier.java +++ b/spring-cloud-starter-tencent-polaris-router/src/main/java/com/tencent/cloud/polaris/router/PolarisRouterServiceInstanceListSupplier.java @@ -98,12 +98,14 @@ public class PolarisRouterServiceInstanceListSupplier extends DelegatingServiceI PolarisRouterContext routerContext = null; DefaultRequestContext requestContext = (DefaultRequestContext) request.getContext(); - if (requestContext instanceof RequestDataContext) { - routerContext = buildRouterContext(((RequestDataContext) requestContext).getClientRequest().getHeaders()); - } - else if (requestContext.getClientRequest() instanceof PolarisLoadBalancerRequest) { - routerContext = buildRouterContext(((PolarisLoadBalancerRequest) requestContext.getClientRequest()).getRequest() - .getHeaders()); + if (requestContext != null) { + if (requestContext instanceof RequestDataContext) { + routerContext = buildRouterContext(((RequestDataContext) requestContext).getClientRequest().getHeaders()); + } + else if (requestContext.getClientRequest() instanceof PolarisLoadBalancerRequest) { + routerContext = buildRouterContext(((PolarisLoadBalancerRequest) requestContext.getClientRequest()).getRequest() + .getHeaders()); + } } if (routerContext == null) {