Skip to content

Commit 6a09ad3

Browse files
authored
optimizes the performance of the HTTP client when transferring large JSON-formatted files (#181)
1 parent 22c008f commit 6a09ad3

File tree

1 file changed

+3
-4
lines changed
  • framework/fit/java/fit-builtin/plugins/fit-client-http/src/main/java/modelengine/fit/client/http/support

1 file changed

+3
-4
lines changed

framework/fit/java/fit-builtin/plugins/fit-client-http/src/main/java/modelengine/fit/client/http/support/AbstractInvokeClient.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import modelengine.fit.http.client.HttpClassicClientFactory;
1717
import modelengine.fit.http.client.HttpClassicClientRequest;
1818
import modelengine.fit.http.entity.Entity;
19-
import modelengine.fit.http.entity.support.DefaultReadableBinaryEntity;
2019
import modelengine.fit.http.protocol.HttpRequestMethod;
2120
import modelengine.fit.http.protocol.MessageHeaderNames;
2221
import modelengine.fit.http.protocol.MimeType;
@@ -161,15 +160,15 @@ protected Entity buildHttpEntity(HttpClassicClientRequest clientRequest, Request
161160
int format = request.metadata().dataFormat();
162161
if (format == SerializationFormat.JSON.code()) {
163162
clientRequest.headers().add(MessageHeaderNames.CONTENT_TYPE, APPLICATION_JSON);
164-
} else {
165-
clientRequest.headers().add(MessageHeaderNames.CONTENT_TYPE, MimeType.APPLICATION_OCTET_STREAM.value());
163+
return Entity.createObject(clientRequest, request.data());
166164
}
165+
clientRequest.headers().add(MessageHeaderNames.CONTENT_TYPE, MimeType.APPLICATION_OCTET_STREAM.value());
167166
MessageSerializer messageSerializer = MessageSerializerUtils.getMessageSerializer(this.container, format)
168167
.orElseThrow(() -> new IllegalStateException(StringUtils.format(
169168
"MessageSerializer required but not found. [format={0}]",
170169
format)));
171170
byte[] bytes = messageSerializer.serializeRequest(request.dataTypes(), request.data());
172171
clientRequest.headers().add(MessageHeaderNames.CONTENT_LENGTH, Integer.toString(bytes.length));
173-
return new DefaultReadableBinaryEntity(clientRequest, new ByteArrayInputStream(bytes));
172+
return Entity.createBinaryEntity(clientRequest, new ByteArrayInputStream(bytes));
174173
}
175174
}

0 commit comments

Comments
 (0)