private List<Route.Filter> pipeline(final String method, final String path, final MediaType contentType, final List<MediaType> accept) { List<Route.Filter> routes = new ArrayList<>(); for (Route.Definition routeDef : this.routes) { Optional<Route> route = routeDef.matches(method, path, contentType, accept); if (route.isPresent()) { routes.add(routeDef.filter()); } } return routes; }
@Nonnull @Override public AssetHandler filter() { return (AssetHandler) super.filter(); }
private static RouteMethod toRouteMethod(final Route.Definition route) { Method handler = ((Route.MethodHandler) route.filter()).method(); return new RouteMethod(route.method(), route.pattern(), new RouteResponse(handler.getGenericReturnType())) .name(route.name()) .parameters(Arrays.asList(handler.getParameters()).stream() .filter(SKIP) .map(it -> BytecodeRouteParser.toRouteParameter(route.pattern(), it)) .filter(Objects::nonNull) .collect(Collectors.toList())); }
Method method = null; try { Route.Filter handler = route.filter();
Route.Filter h = rdef.filter(); if (h instanceof Route.MethodHandler) { Class<?> routeClass = ((Route.MethodHandler) h).implementingClass();
Route.Definition result = new Route.Definition(r.method(), p + r.pattern(), r.filter()); result.consumes(r.consumes()); result.produces(r.produces());
private void routes(final StringBuilder buffer) { Function<Route.Definition, String> p = route -> { Route.Filter filter = route.filter(); if (filter instanceof Route.Before) { return "{before}" + route.pattern(); } else if (filter instanceof Route.After) { return "{after}" + route.pattern(); } else if (filter instanceof Route.Complete) { return "{complete}" + route.pattern(); } return route.pattern(); }; int verbMax = 0, routeMax = 0, consumesMax = 0, producesMax = 0; for (Route.Definition route : routes) { verbMax = Math.max(verbMax, route.method().length()); routeMax = Math.max(routeMax, p.apply(route).length()); consumesMax = Math.max(consumesMax, route.consumes().toString().length()); producesMax = Math.max(producesMax, route.produces().toString().length()); } String format = " %-" + verbMax + "s %-" + routeMax + "s %" + consumesMax + "s %" + producesMax + "s (%s)\n"; for (Route.Definition route : routes) { buffer.append( String.format(format, route.method(), p.apply(route), route.consumes(), route.produces(), route.name())); } sockets(buffer, Math.max(verbMax, "WS".length()), routeMax, consumesMax, producesMax); }
private List<Route.Filter> pipeline(final String method, final String path, final MediaType contentType, final List<MediaType> accept) { List<Route.Filter> routes = new ArrayList<>(); for (Route.Definition routeDef : this.routes) { Optional<Route> route = routeDef.matches(method, path, contentType, accept); if (route.isPresent()) { routes.add(routeDef.filter()); } } return routes; }
private static RouteMethod toRouteMethod(final Route.Definition route) { Method handler = ((Route.MethodHandler) route.filter()).method(); return new RouteMethod(route.method(), route.pattern(), new RouteResponse(handler.getGenericReturnType())) .name(route.name()) .parameters(Arrays.asList(handler.getParameters()).stream() .filter(SKIP) .map(it -> BytecodeRouteParser.toRouteParameter(route.pattern(), it)) .filter(Objects::nonNull) .collect(Collectors.toList())); }
@Nonnull @Override public AssetHandler filter() { return (AssetHandler) super.filter(); }
Route.Filter h = rdef.filter(); if (h instanceof Route.MethodHandler) { Class<?> routeClass = ((Route.MethodHandler) h).implementingClass();
Route.Definition result = new Route.Definition(r.method(), p + r.pattern(), r.filter()); result.consumes(r.consumes()); result.produces(r.produces());
private void routes(final StringBuilder buffer) { Function<Route.Definition, String> p = route -> { Route.Filter filter = route.filter(); if (filter instanceof Route.Before) { return "{before}" + route.pattern(); } else if (filter instanceof Route.After) { return "{after}" + route.pattern(); } else if (filter instanceof Route.Complete) { return "{complete}" + route.pattern(); } return route.pattern(); }; int verbMax = 0, routeMax = 0, consumesMax = 0, producesMax = 0; for (Route.Definition route : routes) { verbMax = Math.max(verbMax, route.method().length()); routeMax = Math.max(routeMax, p.apply(route).length()); consumesMax = Math.max(consumesMax, route.consumes().toString().length()); producesMax = Math.max(producesMax, route.produces().toString().length()); } String format = " %-" + verbMax + "s %-" + routeMax + "s %" + consumesMax + "s %" + producesMax + "s (%s)\n"; for (Route.Definition route : routes) { buffer.append( String.format(format, route.method(), p.apply(route), route.consumes(), route.produces(), route.name())); } sockets(buffer, Math.max(verbMax, "WS".length()), routeMax, consumesMax, producesMax); }