|
@@ -48,24 +48,17 @@ public abstract class ChatApiClient {
|
|
if (rateLimiter != null && !rateLimiter.acquire()) {
|
|
if (rateLimiter != null && !rateLimiter.acquire()) {
|
|
throw new ChatRateLimitExceeded(config.getSupplier(), config.getModel(), config.getQpm());
|
|
throw new ChatRateLimitExceeded(config.getSupplier(), config.getModel(), config.getQpm());
|
|
}
|
|
}
|
|
- try {
|
|
|
|
- RequestBody body = RequestBody
|
|
|
|
- .create(MediaType.parse("application/json"), mapper.writeValueAsBytes(buildRequest(request)));
|
|
|
|
- Credentials credentials = gerCredentials();
|
|
|
|
- Request httpRequest = new Request.Builder().url(config.getUrl())
|
|
|
|
- .addHeader(credentials.getName(), credentials.getValue()).post(body).build();
|
|
|
|
-
|
|
|
|
- Response response = client.newCall(httpRequest).execute();
|
|
|
|
- byte[] data = response.body() != null ? response.body().bytes() : null;
|
|
|
|
- if (response.isSuccessful()) {
|
|
|
|
- return buildResult(data, mapper);
|
|
|
|
- } else {
|
|
|
|
- return handleError(data, response.code(), mapper);
|
|
|
|
- }
|
|
|
|
- } finally {
|
|
|
|
- if (rateLimiter != null) {
|
|
|
|
- rateLimiter.release();
|
|
|
|
- }
|
|
|
|
|
|
+ RequestBody body = RequestBody
|
|
|
|
+ .create(MediaType.parse("application/json"), mapper.writeValueAsBytes(buildRequest(request)));
|
|
|
|
+ Credentials credentials = gerCredentials();
|
|
|
|
+ Request httpRequest = new Request.Builder().url(config.getUrl())
|
|
|
|
+ .addHeader(credentials.getName(), credentials.getValue()).post(body).build();
|
|
|
|
+ Response response = client.newCall(httpRequest).execute();
|
|
|
|
+ byte[] data = response.body() != null ? response.body().bytes() : null;
|
|
|
|
+ if (response.isSuccessful()) {
|
|
|
|
+ return buildResult(data, mapper);
|
|
|
|
+ } else {
|
|
|
|
+ return handleError(data, response.code(), mapper);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|