class EruptNodeInterceptor implements WebMvcConfigurer, AsyncHandlerInterceptor {

    @Resource
    private EruptNodeProp eruptNodeProp;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(this).addPathPatterns(EruptRestPath.ERUPT_API + "/**");
    }

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {<FILL_FUNCTION_BODY>}

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
        MetaContext.remove();
    }
}

        if (!eruptNodeProp.getAccessToken().equals(request.getHeader(CloudCommonConst.HEADER_ACCESS_TOKEN))) {
            throw new EruptWebApiRuntimeException("AccessToken incorrect");
        }
        MetaContext.registerToken(request.getHeader(EruptMutualConst.TOKEN));
        Optional.ofNullable(request.getHeader(EruptMutualConst.USER)).ifPresent(it ->
                MetaContext.register(GsonFactory.getGson().fromJson(Base64Decoder.decodeStr(it), MetaUser.class)));
        MetaContext.register(new MetaErupt(request.getHeader(EruptMutualConst.ERUPT)));
        //node节点管理的erupt类禁止浏览器直接访问
        response.setHeader("Access-Control-Allow-Origin", "255.255.255.255");
        return true;
    
<no_super_class>