You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by rs...@apache.org on 2026/01/15 20:33:00 UTC
(httpcomponents-client) branch 5.6.x updated (d2db5b157 -> 6a1150d5b)
This is an automated email from the ASF dual-hosted git repository.
rschmitt pushed a change to branch 5.6.x
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git
from d2db5b157 Upgraded japicmp to version 0.25.4; use published artifact for site report
new fb3f6307d Add LoggingIOSessionTest
new 6a1150d5b LoggingIOSession: Fix off-by-one error
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../client5/http/impl/async/LoggingIOSession.java | 4 +-
.../http/impl/async/LoggingIOSessionTest.java | 75 ++++++++++++++++++++++
2 files changed, 77 insertions(+), 2 deletions(-)
create mode 100644 httpclient5/src/test/java/org/apache/hc/client5/http/impl/async/LoggingIOSessionTest.java
(httpcomponents-client) 01/02: Add LoggingIOSessionTest
Posted by rs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rschmitt pushed a commit to branch 5.6.x
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git
commit fb3f6307d1f550d605053ce6376db3fdc3eb8067
Author: Ryan Schmitt <rs...@apache.org>
AuthorDate: Wed Jan 14 15:47:10 2026 -0800
Add LoggingIOSessionTest
---
.../client5/http/impl/async/LoggingIOSession.java | 2 +-
.../http/impl/async/LoggingIOSessionTest.java | 75 ++++++++++++++++++++++
2 files changed, 76 insertions(+), 1 deletion(-)
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/LoggingIOSession.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/LoggingIOSession.java
index 4e4a5ab9e..4dd973ab0 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/LoggingIOSession.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/LoggingIOSession.java
@@ -262,7 +262,7 @@ public void disconnected(final IOSession protocolSession) {
}
- private void logData(final ByteBuffer data, final String prefix) {
+ void logData(final ByteBuffer data, final String prefix) {
final byte[] line = new byte[16];
final StringBuilder buf = new StringBuilder();
while (data.hasRemaining()) {
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/async/LoggingIOSessionTest.java b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/async/LoggingIOSessionTest.java
new file mode 100644
index 000000000..c2ccea305
--- /dev/null
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/async/LoggingIOSessionTest.java
@@ -0,0 +1,75 @@
+/*
+ * ====================================================================
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+package org.apache.hc.client5.http.impl.async;
+
+import org.apache.hc.core5.reactor.IOSession;
+import org.junit.jupiter.api.Test;
+import org.slf4j.Logger;
+
+import java.nio.ByteBuffer;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+class LoggingIOSessionTest {
+ IOSession delegate = mock(IOSession.class);
+ Logger log = mock(Logger.class);
+ Logger wireLog = mock(Logger.class);
+ LoggingIOSession session = new LoggingIOSession(delegate, log, wireLog);
+
+ @Test
+ void allBytes() {
+ when(delegate.toString()).thenReturn("IOSession");
+ final byte[] bs = new byte[256];
+ for (int i = 0; i < bs.length; i++) {
+ bs[i] = (byte) i;
+ }
+ final ByteBuffer buf = ByteBuffer.wrap(bs);
+
+ session.logData(buf, "<< ");
+
+ verify(wireLog).debug("IOSession << ......... .. 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f");
+ verify(wireLog).debug("IOSession << ............ 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f");
+ verify(wireLog).debug("IOSession << !\"#$%&'()*+,-./ 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f");
+ verify(wireLog).debug("IOSession << 0123456789:;<=>? 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f");
+ verify(wireLog).debug("IOSession << @ABCDEFGHIJKLMNO 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f");
+ verify(wireLog).debug("IOSession << PQRSTUVWXYZ[\\]^_ 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f");
+ verify(wireLog).debug("IOSession << `abcdefghijklmno 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f");
+ verify(wireLog).debug("IOSession << pqrstuvwxyz{|}~\u007F 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f");
+ verify(wireLog).debug("IOSession << ................ 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f");
+ verify(wireLog).debug("IOSession << ................ 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f");
+ verify(wireLog).debug("IOSession << ................ a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af");
+ verify(wireLog).debug("IOSession << ................ b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf");
+ verify(wireLog).debug("IOSession << ................ c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf");
+ verify(wireLog).debug("IOSession << ................ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df");
+ verify(wireLog).debug("IOSession << ................ e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef");
+ verify(wireLog).debug("IOSession << ................ f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff");
+ verifyNoMoreInteractions(wireLog);
+ }
+}
(httpcomponents-client) 02/02: LoggingIOSession: Fix off-by-one error
Posted by rs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rschmitt pushed a commit to branch 5.6.x
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git
commit 6a1150d5bc1c4ffec3e8ee4c869602054fdec087
Author: Ryan Schmitt <rs...@apache.org>
AuthorDate: Wed Jan 14 15:51:44 2026 -0800
LoggingIOSession: Fix off-by-one error
---
.../java/org/apache/hc/client5/http/impl/async/LoggingIOSession.java | 2 +-
.../org/apache/hc/client5/http/impl/async/LoggingIOSessionTest.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/LoggingIOSession.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/LoggingIOSession.java
index 4dd973ab0..8edba851b 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/LoggingIOSession.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/LoggingIOSession.java
@@ -273,7 +273,7 @@ void logData(final ByteBuffer data, final String prefix) {
for (int i = 0; i < chunk; i++) {
final char ch = (char) line[i];
- if (ch > Chars.SP && ch <= Chars.DEL) {
+ if (ch > Chars.SP && ch < Chars.DEL) {
buf.append(ch);
} else if (Character.isWhitespace(ch)) {
buf.append(' ');
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/async/LoggingIOSessionTest.java b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/async/LoggingIOSessionTest.java
index c2ccea305..3c06ff9a4 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/async/LoggingIOSessionTest.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/async/LoggingIOSessionTest.java
@@ -61,7 +61,7 @@ void allBytes() {
verify(wireLog).debug("IOSession << @ABCDEFGHIJKLMNO 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f");
verify(wireLog).debug("IOSession << PQRSTUVWXYZ[\\]^_ 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f");
verify(wireLog).debug("IOSession << `abcdefghijklmno 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f");
- verify(wireLog).debug("IOSession << pqrstuvwxyz{|}~\u007F 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f");
+ verify(wireLog).debug("IOSession << pqrstuvwxyz{|}~. 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f");
verify(wireLog).debug("IOSession << ................ 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f");
verify(wireLog).debug("IOSession << ................ 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f");
verify(wireLog).debug("IOSession << ................ a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af");