package com.doumee.config.cloudfilter; 
 | 
  
 | 
import javax.servlet.ReadListener; 
 | 
import javax.servlet.ServletInputStream; 
 | 
import javax.servlet.http.HttpServletRequest; 
 | 
import javax.servlet.http.HttpServletRequestWrapper; 
 | 
import java.io.BufferedReader; 
 | 
import java.io.ByteArrayInputStream; 
 | 
import java.io.IOException; 
 | 
import java.io.InputStreamReader; 
 | 
import java.nio.charset.StandardCharsets; 
 | 
  
 | 
  
 | 
  
 | 
public class CustomHttpServletRequestWrapper extends HttpServletRequestWrapper { 
 | 
    private   String body; 
 | 
  
 | 
    public CustomHttpServletRequestWrapper(HttpServletRequest request ) { 
 | 
        super(request); 
 | 
        this.body = body; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public ServletInputStream getInputStream() throws IOException { 
 | 
        final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(body.getBytes(StandardCharsets.UTF_8)); 
 | 
        ServletInputStream servletInputStream = new ServletInputStream() { 
 | 
            @Override 
 | 
            public boolean isFinished() { 
 | 
                return false; 
 | 
            } 
 | 
  
 | 
            @Override 
 | 
            public boolean isReady() { 
 | 
                return false; 
 | 
            } 
 | 
  
 | 
            @Override 
 | 
            public void setReadListener(ReadListener readListener) { 
 | 
            } 
 | 
  
 | 
            @Override 
 | 
            public int read() throws IOException { 
 | 
                return byteArrayInputStream.read(); 
 | 
            } 
 | 
        }; 
 | 
        return servletInputStream; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public BufferedReader getReader() throws IOException { 
 | 
        return new BufferedReader(new InputStreamReader(this.getInputStream())); 
 | 
    } 
 | 
  
 | 
    public String getBody() { 
 | 
        return body; 
 | 
    } 
 | 
  
 | 
    public void setBody(String body) { 
 | 
        this.body = body; 
 | 
    } 
 | 
} 
 |