@Override public Route.Definition put(final String path, final Route.OneArgHandler handler) { return appendDefinition(PUT, path, handler); }
@Override public Route.Definition use(final String path, final Route.Handler handler) { return appendDefinition("*", path, handler); }
@Override public Route.Definition get(final String path, final Route.ZeroArgHandler handler) { return appendDefinition(GET, path, handler); }
@Override public Route.Definition post(final String path, final Route.ZeroArgHandler handler) { return appendDefinition(POST, path, handler); }
@Override public Route.Definition head(final String path, final Route.Handler handler) { return appendDefinition(HEAD, path, handler); }
@Override public Route.Definition trace(final String path, final Route.Filter filter) { return appendDefinition(TRACE, path, filter); }
@Override public Route.Definition complete(final String method, final String pattern, final Route.Complete handler) { return appendDefinition(method, pattern, handler); }
/** * Keep track of routes in the order user define them. * * @param method Route method. * @param pattern Route pattern. * @param filter Route filter. * @return The same route definition. */ private Route.Definition appendDefinition(String method, String pattern, Route.Filter filter) { return appendDefinition(method, pattern, filter, Route.Definition::new); }
@Override public Route.Definition head(final String path, final Route.OneArgHandler handler) { return appendDefinition(HEAD, path, handler); }
@Override public Route.Definition options(final String path, final Route.OneArgHandler handler) { return appendDefinition(OPTIONS, path, handler); }
@Override public Route.Definition put(final String path, final Route.ZeroArgHandler handler) { return appendDefinition(PUT, path, handler); }
@Override public Route.Definition delete(final String path, final Route.ZeroArgHandler handler) { return appendDefinition(DELETE, path, handler); }
@Override public Route.Definition options(final String path, final Route.ZeroArgHandler handler) { return appendDefinition(OPTIONS, path, handler); }
@Override public Route.Definition put(final String path, final Route.Handler handler) { return appendDefinition(PUT, path, handler); }
@Override public Route.Definition put(final String path, final Route.Filter filter) { return appendDefinition(PUT, path, filter); }
@Override public Route.Definition patch(final String path, final Route.Filter filter) { return appendDefinition(PATCH, path, filter); }
@Override public Route.Definition before(final String method, final String pattern, final Route.Before handler) { return appendDefinition(method, pattern, handler); }
@Override public Route.Definition options(final String path, final Route.Filter filter) { return appendDefinition(OPTIONS, path, filter); }
@Override public Route.AssetDefinition assets(final String path, final AssetHandler handler) { Route.AssetDefinition route = appendDefinition(GET, path, handler, Route.AssetDefinition::new); return configureAssetHandler(route); }
@Override public Route.Definition head() { return appendDefinition(HEAD, "*", filter(HeadHandler.class)).name("*.head"); }