
com.github.javadev.nazk.client.HttpClient Maven / Gradle / Ivy
package com.github.javadev.nazk.client;
import com.github.underscore.lodash.$;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class HttpClient implements NazkClient {
private static final String BASE_URL = "https://public-api.nazk.gov.ua/v1/declaration";
private static final String BASE_URL_HTML = "https://public.nazk.gov.ua/declaration/";
private final String baseUrl;
private HttpClient(final String baseUrl) {
this.baseUrl = baseUrl;
}
public static HttpClient createDefault() {
return new HttpClient(BASE_URL);
}
private $.FetchResponse get(final String resourceUrl) {
return $.fetch(this.baseUrl + resourceUrl, 120000, 120000);
}
@Override
public Map getDeclarations(String queryString) {
return (Map) get("/?q=" + queryString).json();
}
private static class CallableImpl implements Callable
© 2015 - 2025 Weber Informatics LLC | Privacy Policy