All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.robertograham.fortniteapirestclient.FortniteApiRestClientBuilder Maven / Gradle / Ivy

There is a newer version: 5.3.0
Show newest version
package io.github.robertograham.fortniteapirestclient;

import io.github.robertograham.fortniteapirestclient.domain.Credentials;
import io.github.robertograham.fortniteapirestclient.util.Builder;
import io.github.robertograham.fortniteapirestclient.util.ResponseHandlerProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

import java.util.Objects;
import java.util.concurrent.Executors;

public class FortniteApiRestClientBuilder implements Builder {

    private final Credentials credentials;
    private boolean autoLoginDisabled;

    FortniteApiRestClientBuilder(Credentials credentials) {
        this.credentials = Objects.requireNonNull(credentials, "Credentials must not be null");
    }

    public FortniteApiRestClientBuilder disableAutoLogin() {
        autoLoginDisabled = true;

        return this;
    }

    @Override
    public FortniteApiRestClient build() {
        ResponseHandlerProvider responseHandlerProvider = ResponseHandlerProvider.builder()
                .build();

        CloseableHttpClient httpClient = HttpClients.createDefault();

        return new FortniteApiRestClient(
                credentials,
                httpClient,
                responseHandlerProvider,
                Executors.newScheduledThreadPool(1),
                autoLoginDisabled
        );
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy