@Override public HttpResponse handle(HttpRequest httpRequest, MiddlewareChain<HttpRequest, NRES, ? ,?> next) { paramsRequest(httpRequest); return castToHttpResponse(next.next(httpRequest)); } }
public void paramsRequest(HttpRequest request) { String encoding = characterEncoding(request); if (encoding == null) { encoding = "UTF-8"; } Parameters formParams = request.getFormParams(); if (formParams == null) { parseFormParams(request, encoding); } Parameters queryParams = request.getQueryParams(); if (queryParams == null) { parseQueryParams(request, encoding); } }
protected void parseFormParams(HttpRequest request, String encoding) { InputStream body = request.getBody(); if (isUrlEncodedForm(request) && body != null) { StringBuilder sb = new StringBuilder(); try (InputStreamReader reader = new InputStreamReader(body, encoding)) { for(;;) { int c = reader.read(); if (c < 0) break; sb.append((char) c); } } catch (IOException e) { throw new FalteringEnvironmentException(e); } Parameters params = parseParams(sb.toString(), encoding); request.setFormParams(params); Parameters current = request.getParams(); if (current == null) { request.setParams(params); } else { current.putAll(params); } } else { request.setFormParams(Parameters.empty()); if (request.getParams() == null) { request.setParams(Parameters.empty()); } } }
app.use(new ContentTypeMiddleware<>()); app.use(envIn("development"), new LazyLoadMiddleware<>("enkan.middleware.devel.HttpStatusCatMiddleware")); app.use(new ParamsMiddleware<>()); app.use(new MultipartParamsMiddleware<>()); app.use(new MethodOverrideMiddleware<>());
protected void parseQueryParams(HttpRequest request, String encoding) { String queryString = request.getQueryString(); if (queryString == null) { request.setQueryParams(Parameters.empty()); if (request.getParams() == null) { request.setParams(Parameters.empty()); } } else { Parameters params = parseParams(queryString, encoding); request.setQueryParams(params); Parameters current = request.getParams(); if (current == null) { request.setParams(params); } else { current.putAll(params); } } }