private Map getTracingHeaders()

in data/src/main/java/com/microsoft/azure/kusto/data/http/HttpRequestBuilder.java [151:188]


    private Map<String, String> getTracingHeaders(HttpTracing tracing) {

        Map<String, String> headers = new HashMap<>();

        String version = tracing.getClientDetails().getClientVersionForTracing();
        if (StringUtils.isNotBlank(version)) {
            headers.put(CLIENT_VERSION_HEADER, version);
        }

        String app = (tracing.getProperties() == null || tracing.getProperties().getApplication() == null)
                ? tracing.getClientDetails().getApplicationForTracing()
                : tracing.getProperties().getApplication();
        if (StringUtils.isNotBlank(app)) {
            headers.put(APP_HEADER, app);
        }

        String user = (tracing.getProperties() == null || tracing.getProperties().getUser() == null) ? tracing.getClientDetails().getUserNameForTracing()
                : tracing.getProperties().getUser();
        if (StringUtils.isNotBlank(user)) {
            headers.put(USER_HEADER, user);
        }

        String clientRequestId;
        if (tracing.getProperties() != null && StringUtils.isNotBlank(tracing.getProperties().getClientRequestId())) {
            clientRequestId = tracing.getProperties().getClientRequestId();
        } else {
            clientRequestId = String.format("%s;%s", tracing.getClientRequestIdPrefix(), UUID.randomUUID());
        }

        headers.put("x-ms-client-request-id", clientRequestId);

        // Configures Keep-Alive on all requests traced
        headers.put("Connection", "Keep-Alive");

        // replace non-ascii characters in header values with '?'
        headers.replaceAll((_i, v) -> v == null ? null : v.replaceAll("[^\\x00-\\x7F]", "?"));
        return headers;
    }