Skip to content
HttpClientWrapper.java 1.02 KiB
Newer Older
package it.inaf.ia2.gms.client.call;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.Builder;

public class HttpClientWrapper {

    private final String baseGmsUri;
    private final HttpClient client;

    private String accessToken;

    public HttpClientWrapper(String baseGmsUri) {
        String uri = baseGmsUri;
        if (!uri.endsWith("/")) {
            uri += "/";
        }
        this.baseGmsUri = uri;

        this.client = HttpClient.newBuilder()
                .followRedirects(HttpClient.Redirect.ALWAYS)
                .build();
    }

    public HttpClientWrapper setAccessToken(String accessToken) {
        this.accessToken = accessToken;
        return this;
    }

    Builder newHttpRequest(String endpoint) {
        return HttpRequest.newBuilder()
                .uri(URI.create(baseGmsUri + endpoint))
                .header("Authorization", "Bearer " + accessToken);
    }

    HttpClient getClient() {
        return client;
    }
}