package com.walker.web.interceptor; import com.walker.infrastructure.ApplicationRuntimeException; import com.walker.web.RequestAwareContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 请求拦截器,暂未使用。 * @@date 2022-11-08 * */ @Deprecated public class RequestAwareInterceptor implements HandlerInterceptor { protected final transient Logger logger = LoggerFactory.getLogger(this.getClass()); @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object args, Exception exception) throws Exception { // clearRequestFromContext(); // clearPageInfoFromContext(); // clearResponseFromContext(); } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object arg2, ModelAndView mv) throws Exception { } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception{ return this.doPreHandleApplication(request, response); } /** * 业务系统可以覆盖该方法,在请求到达时做系统拦截。 * @param request * @param response */ protected boolean doPreHandleApplication(HttpServletRequest request, HttpServletResponse response) throws ApplicationRuntimeException { return true; } protected void addResponseToContext(HttpServletResponse response){ RequestAwareContext.setCurrentResponse(response); } protected void clearResponseFromContext(){ RequestAwareContext.clearCurrentResponse(); } protected void clearRequestFromContext(){ RequestAwareContext.clearCurrentRequest(); } protected void addRequestToContext(HttpServletRequest request){ RequestAwareContext.setCurrentRequest(request); } }