| package com.doumee.core.servlet; | 
|   | 
| import lombok.Getter; | 
|   | 
| import javax.servlet.ServletInputStream; | 
| import javax.servlet.http.HttpServletRequest; | 
| import javax.servlet.http.HttpServletRequestWrapper; | 
| import java.io.*; | 
|   | 
| /** | 
|  * 增加请求流副本 | 
|  * @author Eva.Caesar Liu | 
|  * @date 2023/03/21 14:49 | 
|  */ | 
| @Getter | 
| public class ServletDuplicateRequestWrapper extends HttpServletRequestWrapper { | 
|   | 
|     private ServletDuplicateInputStream servletDuplicateInputStream; | 
|   | 
|     public ServletDuplicateRequestWrapper(HttpServletRequest request) { | 
|         super(request); | 
|     } | 
|   | 
|     @Override | 
|     public BufferedReader getReader() throws IOException { | 
|         return new BufferedReader(new InputStreamReader(getInputStream())); | 
|     } | 
|   | 
|     @Override | 
|     public ServletInputStream getInputStream() throws IOException{ | 
|         if (servletDuplicateInputStream == null) { | 
|             servletDuplicateInputStream = new ServletDuplicateInputStream(super.getInputStream()); | 
|         } | 
|         return servletDuplicateInputStream; | 
|     } | 
|   | 
| } |