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;
}