Last active
March 11, 2018 19:02
-
-
Save radutoev/8f84f316b3c781b40c1ac66d35602fbb to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Component | |
public class EmailThreadContextInterceptor implements HandlerInterceptor { | |
private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |
@Autowired | |
AccessToken accessToken; | |
@Override | |
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception { | |
if(httpServletRequest.getMethod().equals(HttpMethod.OPTIONS.name())) { | |
return true; | |
} | |
Enumeration<String> reqHeaders = httpServletRequest.getHeaderNames(); | |
Set<String> headers = new HashSet<>(); | |
while(reqHeaders.hasMoreElements()){ | |
headers.add(reqHeaders.nextElement().toLowerCase()); | |
} | |
if(headers.contains(HttpHeaders.AUTHORIZATION.toLowerCase())) { | |
MDC.put("userEmail", String.format("%s", accessToken.getEmail())); | |
} | |
return true; | |
} | |
@Override | |
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { | |
logger.debug("post handle hook"); | |
} | |
@Override | |
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { | |
logger.debug("Clearing ThreadContext data"); | |
MDC.clearAll(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment