protected void doFilter()

in initializer-generator/src/main/java/com/alibaba/initializer/protocol/CodeGenerationProtocolFilter.java [73:104]


    protected void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
        String uri = request.getRequestURI();

        if (SKIP_PRESETS.stream().anyMatch(uri::startsWith)) {
            super.doFilter(request, response, chain);
            return;
        }

        try {
            String protocol = findProtocol(uri);

            switch (protocol) {
                case "git":
                    gitFilter.doFilter(new HttpServletRequestWrapper(request) {
                        @Override
                        public String getPathInfo() {
                            return request.getRequestURI();
                        }
                    }, response, chain);
                    break;
                case "zip":
                case "tar":
                case "tar.gz":
                    projectArchiveHandler.handle(request, response, chain, protocol);
                    break;
                default:
                    super.doFilter(request, response, chain);
            }
        } catch (Exception e) {
            log.error("code generate error", e);
        }
    }