private HandlerMatch matchByPattern(Map<PathPattern, HttpHandler> handlers, String path) { for (Map.Entry<PathPattern, HttpHandler> e : handlers.entrySet()) { PathPattern pattern = e.getKey(); Map<String, String> params = pattern.match(path); if (params != null) { HttpHandler handler = e.getValue(); Route route = handler.getRoute(); return new HandlerMatchWithParams(handler, params, route); } } if (handlers != patternAnyHandlers) return matchByPattern(patternAnyHandlers, path); return null; }
if (handler == null) handler = matchByPattern(patternGetHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternPostHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternPutHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternDeleteHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternPatchHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternOptionsHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternHeadHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternTraceHandlers, buf.get(path));
private HandlerMatch matchByPattern(Map<PathPattern, HttpHandler> handlers, String path) { for (Map.Entry<PathPattern, HttpHandler> e : handlers.entrySet()) { PathPattern pattern = e.getKey(); Map<String, String> params = pattern.match(path); if (params != null) { HttpHandler handler = e.getValue(); Route route = handler.getRoute(); return new HandlerMatchWithParams(handler, params, route); } } if (handlers != patternAnyHandlers) return matchByPattern(patternAnyHandlers, path); return null; }
if (handler == null) handler = matchByPattern(patternGetHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternPostHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternPutHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternDeleteHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternPatchHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternOptionsHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternHeadHandlers, buf.get(path)); if (handler == null) handler = matchByPattern(patternTraceHandlers, buf.get(path));