public void invoke()

in initializer-generator/src/main/java/com/alibaba/initializer/protocol/resolver/DefaultRequestPathValve.java [43:84]


    public void invoke(Path paths, ProjectGenerationRequest projReq) {

        for (Path path : paths) {
            String current = path.toString();

            parse:
            {
                if (isKVPath(current)) {
                    // kv path
                    String params;
                    try {
                        params = URLDecoder.decode(current, "UTF-8");
                    } catch (UnsupportedEncodingException e) {
                        params = URLDecoder.decode(current);
                    }

                    Stream.of(params.split("&"))
                            .filter(StringUtils::isNotBlank)
                            .map(data -> data.split("="))

                            .filter(data -> data.length == 2)
                            .forEach(data -> {
                                String key = data[0];
                                String val = data[1];
                                projReq.setParam(key, val);
                            });
                    break parse;
                }

                if (isProtocolPath(current)) {
                    // it's is a protocol path, such as "*.git"、"*.zip"、"*.tar.gz"
                    // ignore the rest
                    if (projReq.getParam(KEY_ARTIFACT_ID) == null) {
                        projReq.setParam(KEY_ARTIFACT_ID, getArtifactIdFromProtocolPath(current));
                    }
                    break;
                }

            }

        }
    }