public Map getAuthHeader()

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