class SidecarServiceDictHandler extends ServiceDictHandler {
    private static final Logger logger = LoggerFactory.getLogger(SidecarServiceDictHandler.class);

    private static SidecarConfig sidecarConfig;

    public SidecarServiceDictHandler() {
        logger.info("SidecarServiceDictHandler is constructed");
        config = ServiceDictConfig.load();
        sidecarConfig = SidecarConfig.load();
    }

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

        if(logger.isDebugEnabled()) logger.debug("SidecarServiceDictHandler.handleRequest starts.");
        if (Constants.HEADER.equalsIgnoreCase(sidecarConfig.getEgressIngressIndicator())) {
            if(logger.isTraceEnabled()) logger.trace("Outgoing request with header indicator");
            serviceDict(exchange);
        } else if (Constants.PROTOCOL.equalsIgnoreCase(sidecarConfig.getEgressIngressIndicator()) && HttpURL.PROTOCOL_HTTP.equalsIgnoreCase(exchange.getRequestScheme())){
            if(logger.isTraceEnabled()) logger.trace("Outgoing request with protocol indicator and http protocol");
            serviceDict(exchange);
        } else {
            if(logger.isTraceEnabled()) logger.trace("Incoming request");
        }
        if(logger.isDebugEnabled()) logger.debug("SidecarServiceDictHandler.handleRequest ends.");
        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 com.networknt.handler.MiddlewareHandler setNext(HttpHandler) <variables>protected static com.networknt.router.middleware.ServiceDictConfig config,private static final Logger logger,protected volatile HttpHandler next