fix-过滤器链使用IoUtil.read方法导致request流关闭

This commit is contained in:
zangzihe 2022-11-18 13:10:28 +08:00
parent 83ba9be342
commit c9d3a97461
2 changed files with 5 additions and 2 deletions

View File

@ -1,6 +1,7 @@
package com.ruoyi.common.filter; package com.ruoyi.common.filter;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.Constants;
import javax.servlet.ReadListener; import javax.servlet.ReadListener;
@ -27,7 +28,8 @@ public class RepeatedlyRequestWrapper extends HttpServletRequestWrapper {
request.setCharacterEncoding(Constants.UTF8); request.setCharacterEncoding(Constants.UTF8);
response.setCharacterEncoding(Constants.UTF8); response.setCharacterEncoding(Constants.UTF8);
body = IoUtil.readUtf8(request.getInputStream()).getBytes(StandardCharsets.UTF_8); body = StrUtil.str(IoUtil.readBytes(request.getInputStream(), false), StandardCharsets.UTF_8)
.getBytes(StandardCharsets.UTF_8);
} }
@Override @Override

View File

@ -1,6 +1,7 @@
package com.ruoyi.common.filter; package com.ruoyi.common.filter;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HtmlUtil; import cn.hutool.http.HtmlUtil;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
@ -50,7 +51,7 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
} }
// 为空直接返回 // 为空直接返回
String json = IoUtil.read(super.getInputStream(), StandardCharsets.UTF_8); String json = StrUtil.str(IoUtil.readBytes(super.getInputStream(),false), StandardCharsets.UTF_8);
if (StringUtils.isEmpty(json)) { if (StringUtils.isEmpty(json)) {
return super.getInputStream(); return super.getInputStream();
} }