diff --git a/pippo-controller-parent/pippo-controller/src/main/java/ro/pippo/controller/ControllerRouteHandler.java b/pippo-controller-parent/pippo-controller/src/main/java/ro/pippo/controller/ControllerRouteHandler.java index e23ad34a7..be7a80256 100644 --- a/pippo-controller-parent/pippo-controller/src/main/java/ro/pippo/controller/ControllerRouteHandler.java +++ b/pippo-controller-parent/pippo-controller/src/main/java/ro/pippo/controller/ControllerRouteHandler.java @@ -344,6 +344,7 @@ protected void processRouteInterceptors(RouteContext routeContext) { Route route = new Route(routeContext.getRequestMethod(), routeContext.getRequestUri(), interceptor); route.setName(StringUtils.format("{}<{}>", Interceptor.class.getSimpleName(), route.getRouteHandler().getClass().getSimpleName())); + route.bindAll(routeContext.getRoute().getAttributes()); // add route in chain RouteMatch match = new RouteMatch(route, null); diff --git a/pippo-core/src/main/java/ro/pippo/core/route/Route.java b/pippo-core/src/main/java/ro/pippo/core/route/Route.java index 72ec9d5c8..c99af4e6f 100644 --- a/pippo-core/src/main/java/ro/pippo/core/route/Route.java +++ b/pippo-core/src/main/java/ro/pippo/core/route/Route.java @@ -197,6 +197,23 @@ public Route bind(String name, Object value) { return this; } + /** + * Copies all of the attributes from the specified map to this route. + * + * @param attributes + * @return + */ + public Route bindAll(Map attributes) { + this.attributes.putAll(attributes); + + return this; + } + + /** + * Returns an unmodifiable view of attributes. + * + * @return + */ public Map getAttributes() { return Collections.unmodifiableMap(attributes); }