Skip to content

Commit

Permalink
using responseHandler
Browse files Browse the repository at this point in the history
  • Loading branch information
Sachin Karve committed Jul 4, 2024
1 parent f72e795 commit f7467fb
Showing 1 changed file with 15 additions and 14 deletions.
29 changes: 15 additions & 14 deletions src/main/java/com/meta/cp4m/message/WAMessageHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.json.JsonMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.hc.client5.http.fluent.Content;
Expand Down Expand Up @@ -90,8 +89,8 @@ private List<ThreadState<WAMessage>> post(Context ctx, WebhookPayload payload) {
case ImageWebhookMessage m -> {
try {
URI url = this.getUrlFromID(m.image().id());
Content media = this.getMediaFromUrl(url);
payloadValue = new Payload.Image(media.asBytes(), m.image().mimeType());
byte[] media = this.getMediaFromUrl(url);
payloadValue = new Payload.Image(media, m.image().mimeType());
} catch (IOException | URISyntaxException e) {
throw new RuntimeException(e);
}
Expand All @@ -100,8 +99,8 @@ private List<ThreadState<WAMessage>> post(Context ctx, WebhookPayload payload) {
case DocumentWebhookMessage m -> {
try {
URI url = this.getUrlFromID(m.document().id());
Content media = this.getMediaFromUrl(url);
payloadValue = new Payload.Document(media.asBytes(), m.document().mimeType());
byte[] media = this.getMediaFromUrl(url);
payloadValue = new Payload.Document(media, m.document().mimeType());
} catch (IOException | URISyntaxException e) {
throw new RuntimeException(e);
}
Expand Down Expand Up @@ -301,14 +300,16 @@ private URI getUrlFromID(String mediaID) throws IOException, URISyntaxException
}).build();
}

private Content getMediaFromUrl(URI url) throws IOException {
try {
return Request.get(url)
.setHeader("Authorization", "Bearer " + accessToken)
.setHeader("appsecret_proof", appSecretProof)
.execute().returnContent();
} catch (IOException e) {
throw new RuntimeException(e);
}
private byte[] getMediaFromUrl(URI url) throws IOException {
return Request.get(url)
.setHeader("Authorization", "Bearer " + accessToken)
.setHeader("appsecret_proof", appSecretProof)
.execute().handleResponse(response -> {
try {
return EntityUtils.toByteArray(response.getEntity());
} catch (IOException e) {
throw new RuntimeException(e);
}
});
}
}

0 comments on commit f7467fb

Please sign in to comment.