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

com.undefinedlabs.scope.network.HttpClientResolver Maven / Gradle / Ivy

package com.undefinedlabs.scope.network;

import com.undefinedlabs.scope.settings.ScopeSettings;
import java.util.HashMap;
import java.util.Map;

public enum HttpClientResolver {
  INSTANCE;

  private final Map httpClientByDsn = new HashMap<>();

  public HttpClient get(final ScopeSettings settings) {
    final String dsn = (String) settings.getSetting(ScopeSettings.SCOPE_DSN);

    final HttpClient httpClient = httpClientByDsn.get(dsn);
    if (httpClient != null) {
      return httpClient;
    }

    final HttpClient newHttpClient = new HttpClientImpl.Builder(settings).build();
    this.httpClientByDsn.put(dsn, newHttpClient);
    return newHttpClient;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy