public void doFilter()

in appactive-java-client/client-bridge/client-bridge-rpc-springcloud/client-bridge-rpc-springcloud-common/src/main/java/io/appactive/rpc/springcloud/common/provider/UnitServiceFilter.java [54:72]


    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException {
        if (!(request instanceof HttpServletRequest && response instanceof HttpServletResponse)) {
            chain.doFilter(request, response);
            return;
        }
        HttpServletRequest httpRequest = (HttpServletRequest)request;
        String routerId = ServletService.getRouteIdFromHeader(httpRequest, Constants.ROUTER_ID_HEADER_KEY);
        if (StringUtils.isBlank(routerId)){
            throw  new ResponseStatusException(HttpStatus.FORBIDDEN, "no routerId provided for this request");
        }
        if (!trafficMachineService.isInCurrentUnit(routerId)) {
            throw  new ResponseStatusException(HttpStatus.FORBIDDEN, "routerId "+ routerId + " does not belong in unit:"+ machineUnitRuleService.getCurrentUnit());
        }
        AppContextClient.setUnitContext(routerId);
        LogUtil.info(AppactiveConstant.PROJECT_NAME + "-routerIdFilter-doFilter-header:" + AppContextClient.getRouteId());
        chain.doFilter(request, response);
        clear();
    }