private void getConfigImpl(JRTServerConfigRequest request) {
        ResponseHandler responseHandler = new ResponseHandler();
        request.getRequestTrace().trace(TRACELEVEL, "Config proxy getConfig()");
        log.log(Level.FINE, () ->"getConfig: " + request);
        if (!request.validateParameters()) {
            // Error code is set in validateParameters if parameters are not OK.
            log.log(Level.WARNING, "Invalid parameters for request " + request + ": " + request.errorCode() + " : " + request.errorMessage());
            responseHandler.returnErrorResponse(request, request.errorCode(), "Invalid parameters for request " + request +
                    ": " + request.errorMessage());
            return;
        }

        try {
            Optional<RawConfig> config = proxyServer.resolveConfig(request);
            if (config.isEmpty())
                log.log(Level.FINEST, () -> "No config received yet for " + request + ", not sending response");
            else if (ProxyServer.configOrGenerationHasChanged(config.get(), request))
                responseHandler.returnOkResponse(request, config.get());
            else
                log.log(Level.FINEST, () -> "No new config for " + request + ", not sending response");
        } catch (Exception e) {
            log.log(Level.WARNING, "Resolving config " + request + " failed", e);
            responseHandler.returnErrorResponse(request, INTERNAL_ERROR, e.getMessage());
        }
    }
Handles all versions of "getConfig" requests.

@param request a Request
config-proxy/src/main/java/com/yahoo/vespa/config/proxy/ConfigProxyRpcServer.java