package com.zy.asrs.wms.common.config; import com.zy.asrs.wms.common.constant.Constants; import com.zy.asrs.wms.utils.Utils; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.AsyncHandlerInterceptor; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Created by vincent on 2019-06-13 */ @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(getAsyncHandlerInterceptor()) .addPathPatterns("/**") ; } @Bean public AsyncHandlerInterceptor getAsyncHandlerInterceptor() { return new AsyncHandlerInterceptor(){ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { Utils.cors(response); return true; } }; } @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOriginPatterns("*") .allowedHeaders("*") .exposedHeaders(Constants.TOKEN_HEADER_NAME) .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS", "PATCH") .allowCredentials(true) .maxAge(3600); } }