Croway commented on code in PR #7683: URL: https://github.com/apache/camel/pull/7683#discussion_r884126481
########## components/camel-whatsapp/src/main/java/org/apache/camel/component/whatsapp/service/WhatsAppServiceRestAPIAdapter.java: ########## @@ -0,0 +1,285 @@ +package org.apache.camel.component.whatsapp.service; + +import static org.asynchttpclient.util.HttpUtils.extractContentTypeCharsetAttribute; +import static org.asynchttpclient.util.MiscUtils.withDefault; + +import org.apache.camel.AsyncCallback; +import org.apache.camel.Exchange; +import org.apache.camel.RuntimeCamelException; +import org.apache.camel.component.whatsapp.WhatsAppService; +import org.apache.camel.component.whatsapp.model.BaseMessage; +import org.apache.camel.component.whatsapp.model.ContactMessageRequest; +import org.apache.camel.component.whatsapp.model.InteractiveMessageRequest; +import org.apache.camel.component.whatsapp.model.LocationMessageRequest; +import org.apache.camel.component.whatsapp.model.MediaMessageRequest; +import org.apache.camel.component.whatsapp.model.MessageResponse; +import org.apache.camel.component.whatsapp.model.TextMessageRequest; +import org.apache.camel.component.whatsapp.model.UploadMediaRequest; +import org.apache.camel.support.GZIPHelper; +import org.apache.camel.util.IOHelper; + +import org.asynchttpclient.AsyncHandler; +import org.asynchttpclient.AsyncHttpClient; +import org.asynchttpclient.HttpResponseBodyPart; +import org.asynchttpclient.HttpResponseStatus; +import org.asynchttpclient.RequestBuilder; +import org.asynchttpclient.request.body.multipart.ByteArrayPart; +import org.asynchttpclient.request.body.multipart.FilePart; +import org.asynchttpclient.request.body.multipart.MultipartUtils; +import org.asynchttpclient.request.body.multipart.StringPart; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import io.netty.handler.codec.http.HttpHeaders; + +public class WhatsAppServiceRestAPIAdapter implements WhatsAppService { + private static final Logger LOG = LoggerFactory.getLogger(WhatsAppServiceRestAPIAdapter.class); + + private final Map<Class<?>, WhatsAppServiceRestAPIAdapter.OutgoingMessageHandler<?>> handlers; + private final AsyncHttpClient asyncHttpClient; + private final ObjectMapper mapper; + private final String baseUri; + private final String authorizationToken; + + public WhatsAppServiceRestAPIAdapter(AsyncHttpClient client, String baseUri, String apiVersion, String phoneNumberId, String authorizationToken) { + this.asyncHttpClient = client; + this.baseUri = baseUri + "/" + apiVersion + "/" + phoneNumberId; + this.mapper = new ObjectMapper().registerModule(new JavaTimeModule()); + this.mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); + this.authorizationToken = authorizationToken; + + int bufferSize = 4 * 1024; Review Comment: I don't think so, I removed it, moreover I'll try to use java11 http client in order to implement this service -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org