package com.zy.asrs.wms.common.security;
|
|
import javax.servlet.ServletOutputStream;
|
import javax.servlet.WriteListener;
|
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponseWrapper;
|
import java.io.ByteArrayOutputStream;
|
import java.io.PrintWriter;
|
|
public class CachedBodyHttpServletResponse extends HttpServletResponseWrapper {
|
private final ByteArrayOutputStream cachedBody;
|
private final PrintWriter writer;
|
|
public CachedBodyHttpServletResponse(HttpServletResponse response) {
|
super(response);
|
this.cachedBody = new ByteArrayOutputStream();
|
this.writer = new PrintWriter(cachedBody);
|
}
|
|
@Override
|
public PrintWriter getWriter() {
|
return writer;
|
}
|
|
@Override
|
public ServletOutputStream getOutputStream() {
|
return new ServletOutputStream() {
|
@Override
|
public void write(int b) {
|
cachedBody.write(b);
|
}
|
|
@Override
|
public boolean isReady() {
|
return true;
|
}
|
|
@Override
|
public void setWriteListener(WriteListener writeListener) {
|
|
}
|
};
|
}
|
|
public byte[] getContent() {
|
writer.flush();
|
return cachedBody.toByteArray();
|
}
|
}
|