in agent/src/main/java/com/attachme/agent/Agent.java [13:36]
private static Map<String, String> parseArgs(String args) {
if (args == null || args.trim().isEmpty())
return Collections.emptyMap();
Set<String> allowed = new HashSet<>(Arrays.asList("port", "host"));
Map<String, String> ans = new HashMap<>();
for (String arg : args.split(",")) {
String[] kv = arg.split(":");
if (kv.length != 2) {
throw new IllegalArgumentException("Illegal argument format");
}
ans.put(kv[0], kv[1]);
}
if (ans.keySet().retainAll(allowed)) {
throw new IllegalArgumentException("Illegal argument format");
}
// Validate the values
try {
if (ans.containsKey("port"))
Integer.parseInt(ans.get("port"));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("Illegal port number", e);
}
return ans;
}