in aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsServletContext.java [225:248]
public Servlet getServletForPath(String path) {
String[] pathParts = path.split("/");
for (AwsServletRegistration reg : servletRegistrations.values()) {
for (String p : reg.getMappings()) {
if ("".equals(p) || "/".equals(p) || "/*".equals(p)) {
return reg.getServlet();
}
// if I have no path and I haven't matched something now I'll just move on to the next
if ("".equals(path) || "/".equals(path)) {
continue;
}
String[] regParts = p.split("/");
for (int i = 0; i < regParts.length; i++) {
if (!regParts[i].equals(pathParts[i]) && !"*".equals(regParts[i])) {
break;
}
if (i == regParts.length - 1 && (regParts[i].equals(pathParts[i]) || "*".equals(regParts[i]))) {
return reg.getServlet();
}
}
}
}
return null;
}