Skip to content

Commit 293c925

Browse files
committed
更换jodd-http,进一步压缩插件大小
1 parent 65665d8 commit 293c925

File tree

2 files changed

+17
-27
lines changed

2 files changed

+17
-27
lines changed

build.gradle

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ repositories {
2020

2121
dependencies {
2222
compileOnly "org.spigotmc:spigot-api:1.13-R0.1-SNAPSHOT"
23-
implementation 'org.apache.httpcomponents:httpclient:4.5.14'
24-
//implementation 'org.apache.httpcomponents.client5:httpclient5:5.4-beta1'
23+
implementation 'org.jodd:jodd-http:6.3.0'
2524
implementation 'org.json:json:20231013'
2625
}
2726

src/main/java/com/ddaodan/MineChatGPT/CommandHandler.java

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,15 @@
33
import org.bukkit.command.Command;
44
import org.bukkit.command.CommandExecutor;
55
import org.bukkit.command.CommandSender;
6-
import org.apache.http.client.methods.CloseableHttpResponse;
7-
import org.apache.http.client.methods.HttpPost;
8-
import org.apache.http.entity.StringEntity;
9-
import org.apache.http.impl.client.CloseableHttpClient;
10-
import org.apache.http.impl.client.HttpClients;
11-
import org.apache.http.util.EntityUtils;
126
import org.json.JSONArray;
137
import org.json.JSONObject;
148

159
import java.util.logging.Level;
1610
import java.util.logging.Logger;
1711
import java.util.List;
1812

13+
import jodd.http.HttpRequest;
14+
import jodd.http.HttpResponse;
1915
public class CommandHandler implements CommandExecutor {
2016
private final Main plugin;
2117
private final ConfigManager configManager;
@@ -97,26 +93,21 @@ private void askChatGPT(CommandSender sender, String question) {
9793
messages.put(message);
9894
json.put("messages", messages);
9995

100-
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
101-
HttpPost request = new HttpPost(configManager.getBaseUrl() + "/chat/completions");
102-
request.setHeader("Content-Type", "application/json");
103-
request.setHeader("Authorization", "Bearer " + configManager.getApiKey());
104-
request.setEntity(new StringEntity(json.toString(), "UTF-8"));
96+
HttpRequest request = HttpRequest.post(configManager.getBaseUrl() + "/chat/completions")
97+
.header("Content-Type", "application/json")
98+
.header("Authorization", "Bearer " + configManager.getApiKey())
99+
.body(json.toString());
105100

106-
try (CloseableHttpResponse response = httpClient.execute(request)) {
107-
if (response.getStatusLine().getStatusCode() == 200) {
108-
String responseBody = EntityUtils.toString(response.getEntity(), "UTF-8");
109-
JSONObject jsonResponse = new JSONObject(responseBody);
110-
String answer = jsonResponse.getJSONArray("choices").getJSONObject(0).getJSONObject("message").getString("content");
111-
sender.sendMessage(configManager.getChatGPTResponseMessage().replace("%s", answer));
112-
} else {
113-
String errorBody = EntityUtils.toString(response.getEntity(), "UTF-8");
114-
logger.log(Level.SEVERE, "Failed to get a response from ChatGPT: " + errorBody);
115-
sender.sendMessage(configManager.getChatGPTErrorMessage());
116-
}
117-
}
118-
} catch (Exception e) {
119-
logger.log(Level.SEVERE, "Failed to contact ChatGPT: " + e.getMessage(), e);
101+
HttpResponse response = request.send();
102+
103+
if (response.statusCode() == 200) {
104+
String responseBody = response.bodyText();
105+
JSONObject jsonResponse = new JSONObject(responseBody);
106+
String answer = jsonResponse.getJSONArray("choices").getJSONObject(0).getJSONObject("message").getString("content");
107+
sender.sendMessage(configManager.getChatGPTResponseMessage().replace("%s", answer));
108+
} else {
109+
String errorBody = response.bodyText();
110+
logger.log(Level.SEVERE, "Failed to get a response from ChatGPT: " + errorBody);
120111
sender.sendMessage(configManager.getChatGPTErrorMessage());
121112
}
122113
}

0 commit comments

Comments
 (0)