package io.airlift.airship.coordinator.auth;
import com.google.common.io.ByteStreams;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import java.io.BufferedReader;
import java.io.IOException;
class RequestWrapper
extends HttpServletRequestWrapper
{
private final byte[] requestBody;
private final ServletInputStream inputStream;
public RequestWrapper(HttpServletRequest request)
throws IOException
{
super(request);
requestBody = ByteStreams.toByteArray(request.getInputStream());
inputStream = new ServletInputStreamFromBytes(requestBody);
}
public byte[] getRequestBody()
{
return requestBody;
}
@Override
public ServletInputStream getInputStream()
throws IOException
{
return inputStream;
}
@Override
public BufferedReader getReader()
throws IOException
{
throw new UnsupportedOperationException("getReader not implemented");
}
}