main
HuangHai 3 months ago
commit fc86a3a0a1

@ -10,6 +10,7 @@ import com.jfinal.upload.MultipartRequest;
import com.jfinal.upload.UploadFile;
import io.jsonwebtoken.Claims;
import okhttp3.*;
import org.apache.commons.io.IOUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@ -55,16 +56,46 @@ public class RouterHandler extends Handler {
private void executeRequest(Request request, HttpServletResponse res) throws IOException {
Response response = OK_HTTP_CLIENT.newCall(request).execute();
if (response.isSuccessful()) {
String responseBody = null;
if (response.body() != null) {
responseBody = response.body().string();
ResponseBody body = response.body();
if (body != null) {
// 获取Content-Type
String contentType = response.header("Content-Type");
if (contentType != null && contentType.startsWith("image/")) {
// 处理图片响应
handleImageResponse(res, body, contentType);
} else {
// 处理文本响应
handleTextResponse(res, body);
}
} else {
renderJson(res, new RetBean(RetBean.ERROR, "响应体为空").toString());
}
renderJson(res, responseBody);
} else {
renderJson(res, new RetBean(RetBean.ERROR, "请求失败!").toString());
}
}
// 处理图片响应
private void handleImageResponse(HttpServletResponse res, ResponseBody body, String contentType) throws IOException {
// 设置响应头
res.setContentType(contentType);
res.setHeader("Cache-Control", "no-store");
res.setHeader("Pragma", "no-cache");
res.setDateHeader("Expires", 0);
// 将图片数据写入响应
try (InputStream inputStream = body.byteStream()) {
IOUtils.copy(inputStream, res.getOutputStream());
}
}
// 处理文本响应
private void handleTextResponse(HttpServletResponse res, ResponseBody body) throws IOException {
String responseBody = body.string();
renderJson(res, responseBody);
}
public static RequestBody createRequestBody(HttpServletRequest req) {
FormBody.Builder formBodyBuilder = new FormBody.Builder();
// 遍历请求中的参数

@ -22,8 +22,9 @@ redis:
whitelist:
# 全局变量获取
- /dsBase/global/getGlobalValueByKey
- /dsBase/global/getGlobalByCodes
- /dsBase/loginPerson/getCaptcha
# 登录
- /dsBase/loginPerson/doLogin
- /dsBase/loginPerson/doLoginV2
# 登录首页
- /dsBase/

@ -21,6 +21,10 @@ redis:
whitelist:
# 全局变量获取
- /dsBase/global/getGlobalValueByKey
- /dsBase/global/getGlobalByCodes
- /dsBase/loginPerson/getCaptcha
# 登录
- /dsBase/loginPerson/doLogin
# 登录首页
- /dsBase/

@ -1 +1,5 @@
<<<<<<< HEAD
30772
=======
32728
>>>>>>> 34d4ee5cc4e42d310e2f63abecc3a24461cfdcec

Loading…
Cancel
Save