private XMLHttpRequest newXhr(String url, HttpMethod method, Operation operation, OnError error, OnLoad onLoad) {
XMLHttpRequest xhr = new XMLHttpRequest();
xhr.onload = event -> onLoad.onLoad(xhr);
xhr.addEventListener("error",
event -> handleErrorCodes(url, (int) xhr.status, operation, error), false);
xhr.open(method.name(), url, true);
xhr.setRequestHeader(X_MANAGEMENT_CLIENT_NAME.header(), HEADER_MANAGEMENT_CLIENT_VALUE);
String bearerToken = getBearerToken();
if (bearerToken != null) {
xhr.setRequestHeader("Authorization", "Bearer " + bearerToken);
}
xhr.withCredentials = true;
return xhr;
}