in src/main/java/org/apache/pulsar/manager/service/impl/PulsarAdminServiceImpl.java [125:153]
public Map<String, String> getAuthHeader(String url) {
Authentication authentication = getPulsarAdmin(url).getClientConfigData().getAuthentication();
Map<String, String> result = new HashMap<>();
try {
CompletableFuture<Map<String, String>> authFuture = new CompletableFuture<>();
AuthenticationDataProvider authData = authentication.getAuthData(new URL(url).getHost());
if (authData.hasDataForHttp()) {
authentication.authenticationStage(url, authData, null, authFuture);
} else {
return result;
}
try {
Map<String, String> responseHeader = authFuture.get();
Set<Map.Entry<String, String>> headers =
authentication.newRequestHeader(url, authData, responseHeader);
if (headers != null) {
headers.forEach(entry -> result.put(entry.getKey(), entry.getValue()));
}
} catch (Exception e) {
log.error("Failed to get headers", e);
}
} catch (Exception e) {
log.error("Failed to run getAuthHeader", e);
}
return result;
}