use of com.mashape.unirest.http.HttpResponse in project Javacord by BtoBastian.
the class ImplChannel method sendFile.
@Override
public Future<Message> sendFile(final File file, final String comment, FutureCallback<Message> callback) {
final MessageReceiver receiver = this;
ListenableFuture<Message> future = api.getThreadPool().getListeningExecutorService().submit(new Callable<Message>() {
@Override
public Message call() throws Exception {
logger.debug("Trying to send a file in channel {} (name: {}, comment: {})", ImplChannel.this, file.getName(), comment);
api.checkRateLimit(null, RateLimitType.SERVER_MESSAGE, null, ImplChannel.this);
MultipartBody body = Unirest.post("https://discordapp.com/api/v6/channels/" + id + "/messages").header("authorization", api.getToken()).field("file", file);
if (comment != null) {
body.field("content", comment);
}
HttpResponse<JsonNode> response = body.asJson();
api.checkResponse(response);
api.checkRateLimit(response, RateLimitType.SERVER_MESSAGE, null, ImplChannel.this);
logger.debug("Sent a file in channel {} (name: {}, comment: {})", ImplChannel.this, file.getName(), comment);
return new ImplMessage(response.getBody().getObject(), api, receiver);
}
});
if (callback != null) {
Futures.addCallback(future, callback);
}
return future;
}
use of com.mashape.unirest.http.HttpResponse in project Javacord by BtoBastian.
the class ImplChannel method sendFile.
@Override
public Future<Message> sendFile(final InputStream inputStream, final String filename, final String comment, FutureCallback<Message> callback) {
final MessageReceiver receiver = this;
ListenableFuture<Message> future = api.getThreadPool().getListeningExecutorService().submit(new Callable<Message>() {
@Override
public Message call() throws Exception {
logger.debug("Trying to send an input stream in channel {} (comment: {})", ImplChannel.this, comment);
api.checkRateLimit(null, RateLimitType.SERVER_MESSAGE, null, ImplChannel.this);
MultipartBody body = Unirest.post("https://discordapp.com/api/v6/channels/" + id + "/messages").header("authorization", api.getToken()).field("file", inputStream, filename);
if (comment != null) {
body.field("content", comment);
}
HttpResponse<JsonNode> response = body.asJson();
api.checkResponse(response);
api.checkRateLimit(response, RateLimitType.SERVER_MESSAGE, null, ImplChannel.this);
logger.debug("Sent an input stream in channel {} (comment: {})", ImplChannel.this, comment);
return new ImplMessage(response.getBody().getObject(), api, receiver);
}
});
if (callback != null) {
Futures.addCallback(future, callback);
}
return future;
}
use of com.mashape.unirest.http.HttpResponse in project dataverse by IQSS.
the class DataCaptureModuleUtilTest method testGetScriptFromRequestNotFound.
@Test
public void testGetScriptFromRequestNotFound() throws UnsupportedEncodingException {
System.out.println("getScriptFromRequestNotFound");
HttpResponseFactory factory = new DefaultHttpResponseFactory();
org.apache.http.HttpResponse response = factory.newHttpResponse(new BasicStatusLine(HttpVersion.HTTP_1_1, HttpStatus.SC_NOT_FOUND, null), null);
JsonObjectBuilder jab = Json.createObjectBuilder();
jab.add("userId", 42);
jab.add("datasetIdentifier", "123");
jab.add("script", "#!/bin/sh");
response.setEntity(new StringEntity(jab.build().toString()));
HttpResponse<JsonNode> httpResponse = new HttpResponse<>(response, JsonNode.class);
ScriptRequestResponse result = DataCaptureModuleUtil.getScriptFromRequest(httpResponse);
assertEquals(404, result.getHttpStatusCode());
assertEquals(-1, result.getDatasetId());
assertEquals(-1, result.getUserId());
assertEquals(null, result.getScript());
}
use of com.mashape.unirest.http.HttpResponse in project dataverse by IQSS.
the class DataCaptureModuleUtilTest method testGetScriptFromRequestOk.
@Test
public void testGetScriptFromRequestOk() throws UnsupportedEncodingException {
System.out.println("getScriptFromRequestOk");
HttpResponseFactory factory = new DefaultHttpResponseFactory();
org.apache.http.HttpResponse response = factory.newHttpResponse(new BasicStatusLine(HttpVersion.HTTP_1_1, HttpStatus.SC_OK, null), null);
JsonObjectBuilder jab = Json.createObjectBuilder();
jab.add("userId", 42);
jab.add("datasetIdentifier", "123");
jab.add("script", "#!/bin/sh");
response.setEntity(new StringEntity(jab.build().toString()));
HttpResponse<JsonNode> httpResponse = new HttpResponse<>(response, JsonNode.class);
ScriptRequestResponse result = DataCaptureModuleUtil.getScriptFromRequest(httpResponse);
assertEquals(200, result.getHttpStatusCode());
assertEquals("123", result.getDatasetIdentifier());
assertEquals(42, result.getUserId());
assertEquals("#!/bin/sh", result.getScript());
}
use of com.mashape.unirest.http.HttpResponse in project Javacord by BtoBastian.
the class ImplUser method sendFile.
@Override
public Future<Message> sendFile(final InputStream inputStream, final String filename, final String comment, FutureCallback<Message> callback) {
final MessageReceiver receiver = this;
ListenableFuture<Message> future = api.getThreadPool().getListeningExecutorService().submit(new Callable<Message>() {
@Override
public Message call() throws Exception {
logger.debug("Trying to send an input stream to user {} (comment: {})", ImplUser.this, comment);
api.checkRateLimit(null, RateLimitType.PRIVATE_MESSAGE, null, null);
MultipartBody body = Unirest.post("https://discordapp.com/api/v6/channels/" + getUserChannelIdBlocking() + "/messages").header("authorization", api.getToken()).field("file", inputStream, filename);
if (comment != null) {
body.field("content", comment);
}
HttpResponse<JsonNode> response = body.asJson();
api.checkResponse(response);
api.checkRateLimit(response, RateLimitType.PRIVATE_MESSAGE, null, null);
logger.debug("Sent an input stream to user {} (comment: {})", ImplUser.this, comment);
return new ImplMessage(response.getBody().getObject(), api, receiver);
}
});
if (callback != null) {
Futures.addCallback(future, callback);
}
return future;
}
Aggregations