class SidecarSAMLTokenHandler extends SAMLTokenHandler {

    public static SidecarConfig sidecarConfig;

    public SidecarSAMLTokenHandler() {
        super();
        sidecarConfig = SidecarConfig.load();
        if(logger.isDebugEnabled()) logger.debug("SidecarSAMLTokenHandler is constructed");
    }

    @Override
    public void handleRequest(HttpServerExchange exchange) throws Exception {<FILL_FUNCTION_BODY>}

}

        if(logger.isDebugEnabled()) logger.debug("SidecarSAMLTokenHandler.handleRequest starts.");
        if (Constants.HEADER.equalsIgnoreCase(sidecarConfig.getEgressIngressIndicator())) {
            HeaderValues serviceIdHeader = exchange.getRequestHeaders().get(HttpStringConstants.SERVICE_ID);
            String serviceId = serviceIdHeader != null ? serviceIdHeader.peekFirst() : null;
            String serviceUrl = exchange.getRequestHeaders().getFirst(HttpStringConstants.SERVICE_URL);
            if(logger.isTraceEnabled()) logger.trace("Sidecar header on with serviceId = " + serviceId + " serviceUrl = " + serviceUrl);
            if (serviceId != null || serviceUrl!=null) {
                if(logger.isTraceEnabled()) logger.trace("Calling parent Sidecar header on with serviceId = " + serviceId + " serviceUrl = " + serviceUrl);
                super.handleRequest(exchange);
            } else {
                Handler.next(exchange, next);
            }
        } else if (Constants.PROTOCOL.equalsIgnoreCase(sidecarConfig.getEgressIngressIndicator()) && HttpURL.PROTOCOL_HTTP.equalsIgnoreCase(exchange.getRequestScheme())){
            super.handleRequest(exchange);
        } else {
            Handler.next(exchange, next);
        }
    
<methods>public void <init>() ,public HttpHandler getNext() ,public void handleRequest(HttpServerExchange) throws java.lang.Exception,public boolean isEnabled() ,public void register() ,public void reload() ,public static void sendStatusToResponse(HttpServerExchange, com.networknt.status.Status) ,public com.networknt.handler.MiddlewareHandler setNext(HttpHandler) <variables>public static final java.lang.String CLIENT_CONFIG_NAME,public static final java.lang.String CONFIG_SECURITY,static final java.lang.String JWTAssertionHeader,static final java.lang.String OAUTH,static final java.lang.String OAUTH_HTTP2_SUPPORT,static final java.lang.String SAMLAssertionHeader,static final java.lang.String TOKEN,static Map<java.lang.String,java.lang.Object> clientConfig,static final com.networknt.router.middleware.TokenConfig config,private final java.lang.Object lock,static Logger logger,protected volatile HttpHandler next,static boolean oauthHttp2Support,static Map<java.lang.String,java.lang.Object> tokenConfig