@Override public Promise<InputStream> getAttachment(URI attachmentUri) { return callAndParse(client().newRequest(attachmentUri).get(), new ResponseHandler<InputStream>() { @Override public InputStream handle(final Response request) throws JSONException, IOException { return request.getEntityStream(); } } ); }
protected final <T> Promise<T> getAndParse(final URI uri, final JsonParser<?, T> parser) { return callAndParse(client.newRequest(uri).setAccept("application/json").get(), parser); }
public static String rawHttp(final String url) throws Exception { final DefaultHttpClient<Void> httpClient = createDefaultHttpClient(url); try { final Header authenticateHeader = BasicScheme.authenticate(Users.getDefaultAdminCredentials(), "UTF-8", false); final Request request = httpClient.newRequest(url); request.setHeader(authenticateHeader.getName(), authenticateHeader.getValue()); final Response r = request.get().get(); return r.getEntity(); } finally { httpClient.destroy(); } }
@Override public Promise<Iterable<Transition>> getTransitions(final URI transitionsUri) { return callAndParse(client().newRequest(transitionsUri).get(), new AbstractAsynchronousRestClient.ResponseHandler<Iterable<Transition>>() { @Override
@Override public Promise<Either<ClientError, List<Room>>> list() { return httpClient.newRequest("/rooms/list").get().<Either<ClientError, List<Room>>>transform() .ok(parseJson("rooms", new TypeReference<List<Room>>(){})) .others(ClientUtils.<List<Room>>error()) .fail(ClientUtils.<List<Room>>throwable()) .toPromise(); }
@Override public Promise<Either<ClientError, List<User>>> list() { return httpClient.newRequest("/users/list").get().<Either<ClientError, List<User>>>transform() .ok(parseJson("users", new TypeReference<List<User>>(){})) .others(ClientUtils.<List<User>>error()) .fail(ClientUtils.<List<User>>throwable()) .toPromise(); } }
@Override public Promise<Either<ClientError, Boolean>> canAuthenticate(Option<String> token) { final String uri = token.fold( Suppliers.ofInstance("/"), new Function<String, String>() { @Override public String apply(String t) { return "/?auth_token=" + t; } } ); return httpClient.newRequest(uri).get().<Either<ClientError, Boolean>>transform() .ok(constantRight(Boolean.TRUE)) .unauthorized(constantRight(Boolean.FALSE)) .others(ClientUtils.<Boolean>error()) .fail(ClientUtils.<Boolean>throwable()) .toPromise(); }