package com.ltkj.web.controller.api.wrapper;
|
|
import javax.servlet.ReadListener;
|
import javax.servlet.ServletInputStream;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequestWrapper;
|
import java.io.*;
|
|
public class DecryptRequestWrapper extends HttpServletRequestWrapper {
|
|
private final byte[] body;
|
|
public DecryptRequestWrapper(HttpServletRequest request, String decryptedBody) {
|
super(request);
|
this.body = decryptedBody.getBytes();
|
}
|
|
@Override
|
public ServletInputStream getInputStream() {
|
ByteArrayInputStream bais = new ByteArrayInputStream(body);
|
return new ServletInputStream() {
|
@Override public boolean isFinished() { return bais.available() == 0; }
|
@Override public boolean isReady() { return true; }
|
@Override public void setReadListener(ReadListener readListener) {}
|
@Override public int read() { return bais.read(); }
|
};
|
}
|
|
@Override
|
public BufferedReader getReader() {
|
return new BufferedReader(new InputStreamReader(getInputStream()));
|
}
|
}
|