This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/master by this push: new b0a743e Ensure context default request encoding applies to getReader() b0a743e is described below commit b0a743e9ad6ba54f0ab91d0765b2003362ecd656 Author: Mark Thomas <ma...@apache.org> AuthorDate: Mon May 13 15:16:07 2019 +0100 Ensure context default request encoding applies to getReader() --- java/org/apache/catalina/connector/Request.java | 20 +++++++++++++++++++- webapps/docs/changelog.xml | 5 +++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/connector/Request.java b/java/org/apache/catalina/connector/Request.java index db51182..dbcd799 100644 --- a/java/org/apache/catalina/connector/Request.java +++ b/java/org/apache/catalina/connector/Request.java @@ -1212,13 +1212,31 @@ public class Request implements HttpServletRequest { (sm.getString("coyoteRequest.getReader.ise")); } + // InputBuffer has no easily accessible reference chain to the Context + // to check for a default request character encoding at the Context. + // Therefore, if a Context default should be used, it is set explicitly + // here. Need to do this before setting usingReader. + if (coyoteRequest.getCharacterEncoding() == null) { + // Nothing currently set explicitly. + // Check the content + Context context = getContext(); + if (context != null) { + String enc = context.getRequestCharacterEncoding(); + if (enc != null) { + // Explicitly set the context default so it is visible to + // InputBuffer when creating the Reader. + setCharacterEncoding(enc); + } + } + } + usingReader = true; + inputBuffer.checkConverter(); if (reader == null) { reader = new CoyoteReader(inputBuffer); } return reader; - } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index f81c36e..f34c849 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -54,6 +54,11 @@ Fix <code>--no-jmx</code> flag processing, which was called after registry initialization. (remm) </fix> + <fix> + Ensure that a default request character encoding set on a + <code>ServletContext</code> is used when calling + <code>ServletRequest#getReader()</code>. (markt) + </fix> </changelog> </subsection> <subsection name="Coyote"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org