@Override public HttpResponse handle(HttpRequest request, MiddlewareChain<HttpRequest, NRES, ?, ?> chain) { Parameters params = request.getParams(); if (params != null) { params.keySet().forEach(key -> { Object obj = params.getRawType(key); if (obj == null) return; normalizationSpecs.forEach(c -> { if (c.getPredicate().test(key) && c.getNormalizer().canNormalize(obj.getClass())) { params.replace(key, c.getNormalizer().normalize(obj)); } }); }); } return castToHttpResponse(chain.next(request)); }
app.use(new MultipartParamsMiddleware<>()); app.use(new MethodOverrideMiddleware<>()); app.use(new NormalizationMiddleware<>()); app.use(new NestedParamsMiddleware<>()); app.use(new CookiesMiddleware<>());