import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.zip.ZipInputStream;
-import org.apache.hc.client5.http.async.methods.SimpleHttpRequest;
import org.apache.hc.client5.http.async.methods.SimpleHttpRequests;
import org.apache.hc.client5.http.async.methods.SimpleHttpResponse;
import org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient;
CacheBuilder.newBuilder().refreshAfterWrite(59, TimeUnit.MINUTES).build(new CacheLoader<>() {
@Override
public String load(final Adapter adapter) throws ExecutionException, InterruptedException {
- try {
- return returnToken(DefaultHttpRestClient.this.client, DefaultHttpRestClient.this.tokenEndpoint,
- adapter);
- } catch (final Exception error) {
- LOG.error("Failed to read time zone", error);
- throw error;
- }
+ return returnToken(DefaultHttpRestClient.this.client, DefaultHttpRestClient.this.tokenEndpoint,
+ adapter);
}
});
@Override
public Single<ZoneId> getTimeZone(final Adapter adapter) {
try {
- final ZoneId zoneId = zoneIdCache.get(adapter);
+ final var zoneId = zoneIdCache.get(adapter);
final String offset = OFFSET_FORMATTER.format(zoneId.getRules().getOffset(Instant.now()));
LOG.info("Adapter {} has offset {}", adapter.getHostIpAddress(), offset);
return Single.just(zoneId);
*/
public Single<SimpleHttpResponse> get(final Adapter adapter, final String url) {
return getToken(adapter).flatMap(token -> {
- final SimpleHttpRequest request =
- SimpleHttpRequests.get(HTTPS + adapter.getHostIpAddress() + url);
+ final var request = SimpleHttpRequests.get(HTTPS + adapter.getHostIpAddress() + url);
request.addHeader(HttpHeaders.CONTENT_TYPE, APPLICATION_JSON_VALUE);
request.addHeader(HttpHeaders.AUTHORIZATION, BEARER + token);
return Single.fromFuture(client.execute(request, null))