From 2d113315917bee1991bc2ee409287477edfd8fc9 Mon Sep 17 00:00:00 2001 From: Dmitriy Dumanskiy Date: Thu, 19 Jan 2017 00:37:05 +0200 Subject: [PATCH] Typo fix in post encoder and replaced static hashmap with array. --- .../http/multipart/HttpPostRequestEncoder.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java index f6f6fd7288..4f40289411 100755 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java @@ -43,13 +43,13 @@ import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.nio.charset.Charset; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.regex.Pattern; import static io.netty.buffer.Unpooled.wrappedBuffer; +import static java.util.AbstractMap.SimpleImmutableEntry; /** * This encoder will help to encode Request for a FORM as POST. @@ -92,12 +92,14 @@ public class HttpPostRequestEncoder implements ChunkedInput { HTML5 } - private static final Map percentEncodings = new HashMap(); + private static final Map.Entry[] percentEncodings; static { - percentEncodings.put(Pattern.compile("\\*"), "%2A"); - percentEncodings.put(Pattern.compile("\\+"), "%20"); - percentEncodings.put(Pattern.compile("%7E"), "~"); + percentEncodings = new Map.Entry[] { + new SimpleImmutableEntry(Pattern.compile("\\*"), "%2A"), + new SimpleImmutableEntry(Pattern.compile("\\+"), "%20"), + new SimpleImmutableEntry(Pattern.compile("~"), "%7E") + }; } /** @@ -371,7 +373,7 @@ public class HttpPostRequestEncoder implements ChunkedInput { */ public void addBodyFileUpload(String name, File file, String contentType, boolean isText) throws ErrorDataEncoderException { - addBodyFileUpload(name, file.getName(), file, contentType, isText); + addBodyFileUpload(name, file.getName(), file, contentType, isText); } /** @@ -853,6 +855,7 @@ public class HttpPostRequestEncoder implements ChunkedInput { * @throws ErrorDataEncoderException * if the encoding is in error */ + @SuppressWarnings("unchecked") private String encodeAttribute(String s, Charset charset) throws ErrorDataEncoderException { if (s == null) { return ""; @@ -860,7 +863,7 @@ public class HttpPostRequestEncoder implements ChunkedInput { try { String encoded = URLEncoder.encode(s, charset.name()); if (encoderMode == EncoderMode.RFC3986) { - for (Map.Entry entry : percentEncodings.entrySet()) { + for (Map.Entry entry : percentEncodings) { String replacement = entry.getValue(); encoded = entry.getKey().matcher(encoded).replaceAll(replacement); }