This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-api.git
The following commit(s) were added to refs/heads/master by this push:
new 8754cd2 SLING-11392 : Escape characters in request progress tracker
8754cd2 is described below
commit 8754cd20cb047498e1cf53fde1e5c0357232e6b9
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Mon Jun 13 14:34:22 2022 +0200
SLING-11392 : Escape characters in request progress tracker
---
.../api/request/builder/impl/RequestProgressTrackerImpl.java | 8 ++++----
.../api/request/builder/impl/RequestProgressTrackerImplTest.java | 9 +++++++++
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git
a/src/main/java/org/apache/sling/api/request/builder/impl/RequestProgressTrackerImpl.java
b/src/main/java/org/apache/sling/api/request/builder/impl/RequestProgressTrackerImpl.java
index 99fadb8..0a664f7 100644
---
a/src/main/java/org/apache/sling/api/request/builder/impl/RequestProgressTrackerImpl.java
+++
b/src/main/java/org/apache/sling/api/request/builder/impl/RequestProgressTrackerImpl.java
@@ -170,7 +170,9 @@ public class RequestProgressTrackerImpl implements
RequestProgressTracker {
for (int i = PADDING_WIDTH - offsetStr.length(); i > 0; i--) {
sb.append(' ');
}
- sb.append(offsetStr).append(' ').append(message).append('\n');
+ sb.append(offsetStr).append(' ')
+ .append(message.replace('\n', '_').replace('\r', '_'))
+ .append('\n');
return sb.toString();
}
@@ -179,12 +181,10 @@ public class RequestProgressTrackerImpl implements
RequestProgressTracker {
logTimer(REQUEST_PROCESSING_TIMER,
"Dumping SlingRequestProgressTracker Entries");
- final StringBuilder sb = new StringBuilder();
final Iterator<String> messages = getMessages();
while (messages.hasNext()) {
- sb.append(messages.next());
+ writer.print(messages.next());
}
- writer.print(sb.toString());
}
@Override
diff --git
a/src/test/java/org/apache/sling/api/request/builder/impl/RequestProgressTrackerImplTest.java
b/src/test/java/org/apache/sling/api/request/builder/impl/RequestProgressTrackerImplTest.java
index 3a4aeab..49e4c8a 100644
---
a/src/test/java/org/apache/sling/api/request/builder/impl/RequestProgressTrackerImplTest.java
+++
b/src/test/java/org/apache/sling/api/request/builder/impl/RequestProgressTrackerImplTest.java
@@ -129,6 +129,15 @@ public class RequestProgressTrackerImplTest {
tracker.getMessages().remove();
}
+ @Test
+ public void testMessageEscape() {
+ tracker.log("foo\n\rbar");
+ final StringWriter w = new StringWriter();
+ tracker.dump(new PrintWriter(w));
+ w.flush();
+ final String result = w.toString();
+ assertTrue(result.contains("LOG foo__bar"));
+ }
private String substringAfter(String string, char ch) {
final int pos = string.indexOf(ch);
return string.substring(pos);