On Thu, Mar 2, 2023 at 2:52 PM Mark Thomas <[email protected]> wrote:
>
> On 02/03/2023 13:38, [email protected] wrote:
> > This is an automated email from the ASF dual-hosted git repository.
> >
> > remm pushed a commit to branch main
> > in repository https://gitbox.apache.org/repos/asf/tomcat.git
> >
> >
> > The following commit(s) were added to refs/heads/main by this push:
> > new 50a9edfdb2 Improve JSON filter
> > 50a9edfdb2 is described below
> >
> > commit 50a9edfdb230c06de40ccc69be8fe4947ebd3fce
> > Author: remm <[email protected]>
> > AuthorDate: Thu Mar 2 14:38:00 2023 +0100
> >
> > Improve JSON filter
> >
> > Add more capabilities (filtering from a writer, as in the PR, etc).
> > Some
> > common chars have a special more readable escape sequence in RFC 8259.
> > Based on parts of PR#539 submitted by Thomas Meyer.
> > ---
> > java/org/apache/tomcat/util/json/JSONFilter.java | 104
> > ++++++++++++++++++---
> > .../apache/tomcat/util/json/TestJSONFilter.java | 35 ++++---
> > webapps/docs/changelog.xml | 9 ++
> > 3 files changed, 122 insertions(+), 26 deletions(-)
> >
> > diff --git a/java/org/apache/tomcat/util/json/JSONFilter.java
> > b/java/org/apache/tomcat/util/json/JSONFilter.java
> > index b5992d95d6..fe771b55cd 100644
> > --- a/java/org/apache/tomcat/util/json/JSONFilter.java
> > +++ b/java/org/apache/tomcat/util/json/JSONFilter.java
> > @@ -23,39 +23,119 @@ package org.apache.tomcat.util.json;
> > */
> > public class JSONFilter {
> >
> > - private JSONFilter() {
> > - // Utility class. Hide the default constructor.
>
> Why remove this? We don't want instances of JSONFilter created.
I moved it to the bottom (since it's not code that does something).
>
> <snip/>
>
> > + /**
> > + * Escape the given string.
> > + * @param input the string
> > + * @return the escaped string
> > + */
> > public static String escape(String input) {
> > + return escape((CharSequence) input, 0, input.length()).toString();
>
> Unnecessary cast.
I made changes along the way, this stayed in ...
> > + /**
> > + * Escape the given char sequence.
> > + * @param input the char sequence
> > + * @param off the offset on which escaping will start
> > + * @param length the length which should be escaped
> > + * @return the escaped char sequence corresponding to the specified
> > range
> > + */
> > + public static CharSequence escape(CharSequence input, int off, int
> > length) {
> > /*
> > * While any character MAY be escaped, only U+0000 to U+001F
> > (control
> > * characters), U+0022 (quotation mark) and U+005C (reverse
> > solidus)
> > * MUST be escaped.
> > */
> > - char[] chars = input.toCharArray();
> > + //char[] chars = input.toCharArray();
>
> Should be removed rather than commented out.
Yes ! Same problem, sorry.
Rémy
>
> Mark
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]