List of usage examples for org.apache.http.impl.client AbstractResponseHandler AbstractResponseHandler
AbstractResponseHandler
From source file:com.github.horrorho.liquiddonkey.http.ResponseHandlerFactory.java
/** * Returns an entity to function result response handler. * * @param <R> the function return type, not null * @param function the function to apply to the response entity, not null * @return an entity to function result response handler, not null */// w ww . ja va2 s . c o m public static <R> ResponseHandler<R> of(IOFunction<InputStream, R> function) { Objects.requireNonNull(function); return new AbstractResponseHandler<R>() { @Override public R handleEntity(HttpEntity entity) throws IOException { try (InputStream inputStream = entity.getContent()) { return function.apply(inputStream); } } }; }
From source file:com.github.horrorho.liquiddonkey.http.ResponseHandlerFactory.java
/** * Returns an entity to byte array response handler. * * @return an entity to byte array response handler, not null *//*from www. ja v a 2s . c o m*/ public static ResponseHandler<byte[]> toByteArray() { return new AbstractResponseHandler<byte[]>() { @Override public byte[] handleEntity(HttpEntity entity) throws IOException { return EntityUtils.toByteArray(entity); } }; }
From source file:eu.fthevenet.util.github.GithubApi.java
/** * Returns a specific release from the specified repository. * * @param owner the repository's owner/* w ww .ja v a 2s .c o m*/ * @param repo the repository's name * @param id the id of the release to retrieve * @return An {@link Optional} that contains the specified release if it could be found. * @throws IOException if an IO error occurs while communicating with GitHub. * @throws URISyntaxException if the crafted URI is incorrect. */ public Optional<GithubRelease> getRelease(String owner, String repo, String id) throws IOException, URISyntaxException { URIBuilder requestUrl = new URIBuilder().setScheme(URL_PROTOCOL).setHost(GITHUB_API_HOSTNAME) .setPath("/repos/" + owner + "/" + repo + "/releases/" + id); logger.debug(() -> "requestUrl = " + requestUrl); HttpGet httpget = new HttpGet(requestUrl.build()); return Optional.ofNullable(httpClient.execute(httpget, new AbstractResponseHandler<GithubRelease>() { @Override public GithubRelease handleEntity(HttpEntity entity) throws IOException { return gson.fromJson(EntityUtils.toString(entity), GithubRelease.class); } })); }
From source file:eu.fthevenet.binjr.data.adapters.HttpDataAdapterBase.java
@Override public byte[] onCacheMiss(String path, Instant begin, Instant end) throws DataAdapterException { return doHttpGet(craftFetchUri(path, begin, end), new AbstractResponseHandler<byte[]>() { @Override//from w w w .j av a2 s .c o m public byte[] handleEntity(HttpEntity entity) throws IOException { return EntityUtils.toByteArray(entity); } }); }
From source file:eu.fthevenet.util.github.GithubApi.java
/** * Returns a list of all release from the specified repository. * * @param owner the repository's owner//from w ww . j a va2 s .co m * @param repo the repository's name * @return a list of all release from the specified repository. * @throws IOException if an IO error occurs while communicating with GitHub. * @throws URISyntaxException if the crafted URI is incorrect. */ public List<GithubRelease> getAllReleases(String owner, String repo) throws IOException, URISyntaxException { URIBuilder requestUrl = new URIBuilder().setScheme(URL_PROTOCOL).setHost(GITHUB_API_HOSTNAME) .setPath("/repos/" + owner + "/" + repo + "/releases"); logger.debug(() -> "requestUrl = " + requestUrl); HttpGet httpget = new HttpGet(requestUrl.build()); return httpClient.execute(httpget, new AbstractResponseHandler<List<GithubRelease>>() { @Override public List<GithubRelease> handleEntity(HttpEntity entity) throws IOException { return gson.fromJson(EntityUtils.toString(entity), new TypeToken<ArrayList<GithubRelease>>() { }.getType()); } }); }
From source file:eu.fthevenet.binjr.sources.jrds.adapters.JrdsDataAdapter.java
@Override public boolean ping() { try {// ww w. jav a2s.co m return doHttpGet(craftRequestUri(""), new AbstractResponseHandler<Boolean>() { @Override public Boolean handleEntity(HttpEntity entity) throws IOException { String entityString = EntityUtils.toString(entity); logger.trace(entityString); return true; } }); } catch (Exception e) { logger.debug(() -> "Ping failed", e); return false; } }