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;
}
}
}
}