31 Ekim 2017 Salı

HttpServletRequestWrapper Sınıfı

Giriş
HttpServletRequest'i değiştiremeyiz ancak sarmalayarak farklı bir davranış elde edebiliriz.

getHeaders metodu
Şöyle yaparız
public class MyRequestWrapper extends HttpServletRequestWrapper{

  public MyRequestWrapper(HttpServletRequest request){
    super(request);
  }

  @Override 
  public String getHeaders(String name){
    if(name.equals("X-Forwarded-Proto"){
      return "xyz";
    }
    else{
      return ((HttpServletRequest)getRequest()).getHeaders(name);
    }
  }
}
Kullanım
Şöyle yaparız
public class MyFilter implements Filter{

  @Override
  public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {

    chain.doFilter(new MyRequestWrapper((HttpServletRequest)request), response);
  }
}

Hiç yorum yok:

Yorum Gönder