You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by mi...@apache.org on 2019/12/25 16:50:20 UTC

[httpcomponents-core] 01/07: Use Chars where possible

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch consistency-fixes
in repository https://gitbox.apache.org/repos/asf/httpcomponents-core.git

commit bd997a4d6ac7b2309da1113720374a7614664c82
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Wed Dec 25 16:31:50 2019 +0100

    Use Chars where possible
---
 .../org/apache/hc/core5/http2/frame/FramePrinter.java   |  3 ++-
 .../java/org/apache/hc/core5/testing/classic/Wire.java  |  7 ++++---
 .../src/main/java/org/apache/hc/core5/http/Chars.java   |  1 +
 .../java/org/apache/hc/core5/http/HttpException.java    |  2 +-
 .../org/apache/hc/core5/http/message/TokenParser.java   | 17 +++--------------
 5 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/httpcore5-h2/src/main/java/org/apache/hc/core5/http2/frame/FramePrinter.java b/httpcore5-h2/src/main/java/org/apache/hc/core5/http2/frame/FramePrinter.java
index 13c298f..9466dce 100644
--- a/httpcore5-h2/src/main/java/org/apache/hc/core5/http2/frame/FramePrinter.java
+++ b/httpcore5-h2/src/main/java/org/apache/hc/core5/http2/frame/FramePrinter.java
@@ -33,6 +33,7 @@ import java.nio.charset.StandardCharsets;
 import java.util.Objects;
 
 import org.apache.hc.core5.annotation.Internal;
+import org.apache.hc.core5.http.Chars;
 import org.apache.hc.core5.http2.H2Error;
 import org.apache.hc.core5.http2.config.H2Param;
 
@@ -184,7 +185,7 @@ public final class FramePrinter {
 
                 for (int i = 0; i < chunk; i++) {
                     final char ch = (char) line[i];
-                    if (ch > 32 && ch < 128) {
+                    if (ch > Chars.SP && ch <= Chars.DEL) {
                         appendable.append(ch);
                     } else if (Character.isWhitespace(ch)) {
                         appendable.append(' ');
diff --git a/httpcore5-testing/src/main/java/org/apache/hc/core5/testing/classic/Wire.java b/httpcore5-testing/src/main/java/org/apache/hc/core5/testing/classic/Wire.java
index 55045cb..8b3cf1c 100644
--- a/httpcore5-testing/src/main/java/org/apache/hc/core5/testing/classic/Wire.java
+++ b/httpcore5-testing/src/main/java/org/apache/hc/core5/testing/classic/Wire.java
@@ -29,6 +29,7 @@ package org.apache.hc.core5.testing.classic;
 
 import java.nio.ByteBuffer;
 
+import org.apache.hc.core5.http.Chars;
 import org.slf4j.Logger;
 
 public class Wire {
@@ -46,15 +47,15 @@ public class Wire {
         final StringBuilder buffer = new StringBuilder();
         for (int i = 0; i < off; i++) {
             final int ch = b[pos + i];
-            if (ch == 13) {
+            if (ch == Chars.CR) {
                 buffer.append("[\\r]");
-            } else if (ch == 10) {
+            } else if (ch == Chars.LF) {
                 buffer.append("[\\n]\"");
                 buffer.insert(0, "\"");
                 buffer.insert(0, header);
                 this.log.debug(this.id + " " + buffer.toString());
                 buffer.setLength(0);
-            } else if ((ch < 32) || (ch >= 127)) {
+            } else if ((ch < Chars.SP) || (ch >= Chars.DEL)) {
                 buffer.append("[0x");
                 buffer.append(Integer.toHexString(ch));
                 buffer.append("]");
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/Chars.java b/httpcore5/src/main/java/org/apache/hc/core5/http/Chars.java
index d02866c..355aaef 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/Chars.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/Chars.java
@@ -38,6 +38,7 @@ public final class Chars {
     public static final int LF = 10; // <US-ASCII LF, linefeed (10)>
     public static final int SP = 32; // <US-ASCII SP, space (32)>
     public static final int HT = 9;  // <US-ASCII HT, horizontal-tab (9)>
+    public static final int DEL = 127; // <US-ASCII DEL, delete (127)>
 
     private Chars() {
     }
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/HttpException.java b/httpcore5/src/main/java/org/apache/hc/core5/http/HttpException.java
index b3ceb3f..54f8f5b 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/HttpException.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/HttpException.java
@@ -34,7 +34,7 @@ package org.apache.hc.core5.http;
  */
 public class HttpException extends Exception {
 
-    private static final int FIRST_VALID_CHAR = 32;
+    private static final int FIRST_VALID_CHAR = Chars.SP;
     private static final long serialVersionUID = -5437299376222011036L;
 
     /**
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/TokenParser.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/TokenParser.java
index 8ec8f42..cdd6a21 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/TokenParser.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/TokenParser.java
@@ -31,6 +31,7 @@ import java.util.BitSet;
 
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.ThreadingBehavior;
+import org.apache.hc.core5.http.Chars;
 import org.apache.hc.core5.util.Args;
 
 /**
@@ -52,18 +53,6 @@ public class TokenParser {
         return bitset;
     }
 
-    /** US-ASCII CR, carriage return (13) */
-    public static final char CR = '\r';
-
-    /** US-ASCII LF, line feed (10) */
-    public static final char LF = '\n';
-
-    /** US-ASCII SP, space (32) */
-    public static final char SP = ' ';
-
-    /** US-ASCII HT, horizontal-tab (9) */
-    public static final char HT = '\t';
-
     /** Double quote */
     public static final char DQUOTE = '\"';
 
@@ -71,7 +60,7 @@ public class TokenParser {
     public static final char ESCAPE = '\\';
 
     public static boolean isWhitespace(final char ch) {
-        return ch == SP || ch == HT || ch == CR || ch == LF;
+        return ch == Chars.SP || ch == Chars.HT || ch == Chars.CR || ch == Chars.LF;
     }
 
     public static final TokenParser INSTANCE = new TokenParser();
@@ -269,7 +258,7 @@ public class TokenParser {
                 }
                 if (current == ESCAPE) {
                     escaped = true;
-                } else if (current != CR && current != LF) {
+                } else if (current != Chars.CR && current != Chars.LF) {
                     dst.append(current);
                 }
             }