BodyReaderHttpServletRequestWrapper#body优化
This commit is contained in:
parent
49b49e1086
commit
377030333c
@ -9,8 +9,10 @@ import javax.servlet.ServletRequest;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletRequestWrapper;
|
import javax.servlet.http.HttpServletRequestWrapper;
|
||||||
import javax.servlet.http.Part;
|
import javax.servlet.http.Part;
|
||||||
|
import java.io.BufferedInputStream;
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
@ -33,8 +35,7 @@ public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapp
|
|||||||
super(request);
|
super(request);
|
||||||
this.request = request;
|
this.request = request;
|
||||||
// request.getParameterMap();
|
// request.getParameterMap();
|
||||||
String sessionStream = getBodyString(request);
|
body = getBodyBytes(request);
|
||||||
body = sessionStream.getBytes(Charset.forName("UTF-8"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -44,6 +45,20 @@ public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapp
|
|||||||
return request.getParts();
|
return request.getParts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private byte[] getBodyBytes(ServletRequest request) throws IOException {
|
||||||
|
try (BufferedInputStream bis = new BufferedInputStream(request.getInputStream());
|
||||||
|
ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
|
||||||
|
byte[] buffer = new byte[1024];
|
||||||
|
int len;
|
||||||
|
while ((len = bis.read(buffer)) > 0) {
|
||||||
|
baos.write(buffer, 0, len);
|
||||||
|
}
|
||||||
|
return baos.toByteArray();
|
||||||
|
} catch (IOException ex) {
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private String getBodyString(ServletRequest request) throws IOException {
|
private String getBodyString(ServletRequest request) throws IOException {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
InputStream ins = request.getInputStream();
|
InputStream ins = request.getInputStream();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user