class SidecarPathPrefixServiceHandler extends PathPrefixServiceHandler {
    private static final Logger logger = LoggerFactory.getLogger(SidecarPathPrefixServiceHandler.class);

    private static SidecarConfig sidecarConfig;

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

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

        if(logger.isDebugEnabled()) logger.debug("SidecarPathPrefixServiceHandler.handleRequest starts.");
        if (Constants.HEADER.equalsIgnoreCase(sidecarConfig.getEgressIngressIndicator())) {
            if(logger.isTraceEnabled()) logger.trace("Outgoing request calls PathPrefixServiceHandler with header indicator");
            super.handleRequest(exchange);
        } else if (Constants.PROTOCOL.equalsIgnoreCase(sidecarConfig.getEgressIngressIndicator()) && HttpURL.PROTOCOL_HTTP.equalsIgnoreCase(exchange.getRequestScheme())){
            if(logger.isTraceEnabled()) logger.trace("Outgoing request calls PathPrefixServiceHandler with protocol indicator and http protocol");
            super.handleRequest(exchange);
        } else {
            // incoming request, let the proxy handler to handle it.
            if(logger.isDebugEnabled()) logger.debug("SidecarPathPrefixServiceHandler.handleRequest ends for incoming request.");
            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.PathPrefixServiceConfig config,static Logger logger,protected volatile HttpHandler next