Skip to content

Commit

Permalink
SLING-11392 : Escape characters in request progress tracker
Browse files Browse the repository at this point in the history
  • Loading branch information
cziegeler committed Jun 13, 2022
1 parent 69fe9c9 commit 8754cd2
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
Expand Up @@ -170,7 +170,9 @@ private String formatMessage(final long offset, final String message) {
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();
}

Expand All @@ -179,12 +181,10 @@ public void dump(final PrintWriter writer) {
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
Expand Down
Expand Up @@ -129,6 +129,15 @@ public void removeFails() {
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);
Expand Down

0 comments on commit 8754cd2

Please sign in to comment.