[ https://issues.apache.org/jira/browse/CMIS-844?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ron Gavlin updated CMIS-844: ---------------------------- Description: POSTHttpServletRequestWrapper should accommodate prior consumption of the request body by a filter. The 0.7.0 release provided this accommodation. This appears to have been broken by the major post-0.7.0 refactoring. The following POSTHttpServletRequestWrapper constructor modification fixes the problem: {code} ... if (isMultipart) { ... } else { // form data processing StringBuilder sb = new StringBuilder(); InputStreamReader sr = new InputStreamReader(request.getInputStream(), IOUtils.UTF8); char[] buffer = new char[4096]; int c = 0; while ((c = sr.read(buffer)) > -1) { sb.append(buffer, 0, c); } if (sb.length() < 3) { @SuppressWarnings("unchecked") Map<String, String[]> parameterMap = request.getParameterMap(); getParameterMap().putAll(parameterMap); } else { parseFormData(sb.toString()); } } ... {code} was: POSTHttpServletRequestWrapper should accommodate prior consumption of request body by a filter. The POSTHttpServletRequestWrapper constructor should be modified as follows: {code} ... if (isMultipart) { ... } else { // form data processing StringBuilder sb = new StringBuilder(); InputStreamReader sr = new InputStreamReader(request.getInputStream(), IOUtils.UTF8); char[] buffer = new char[4096]; int c = 0; while ((c = sr.read(buffer)) > -1) { sb.append(buffer, 0, c); } if (sb.length() < 3) { getParameterMap().putAll(request.getParameterMap()); } else { parseFormData(sb.toString()); } } ... {code} Issue Type: Bug (was: Improvement) > POSTHttpServletRequestWrapper should accommodate prior consumption of request > body by a filter > ---------------------------------------------------------------------------------------------- > > Key: CMIS-844 > URL: https://issues.apache.org/jira/browse/CMIS-844 > Project: Chemistry > Issue Type: Bug > Components: opencmis-server > Affects Versions: OpenCMIS 0.12.0 > Reporter: Ron Gavlin > Assignee: Florian Müller > > POSTHttpServletRequestWrapper should accommodate prior consumption of the > request body by a filter. > The 0.7.0 release provided this accommodation. This appears to have been > broken by the major post-0.7.0 refactoring. > The following POSTHttpServletRequestWrapper constructor modification fixes > the problem: > {code} > ... > if (isMultipart) { > ... > } else { > // form data processing > StringBuilder sb = new StringBuilder(); > InputStreamReader sr = new > InputStreamReader(request.getInputStream(), IOUtils.UTF8); > char[] buffer = new char[4096]; > int c = 0; > while ((c = sr.read(buffer)) > -1) { > sb.append(buffer, 0, c); > } > if (sb.length() < 3) { > @SuppressWarnings("unchecked") > Map<String, String[]> parameterMap = > request.getParameterMap(); > getParameterMap().putAll(parameterMap); > } else { > parseFormData(sb.toString()); > } > } > ... > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)