You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2018/04/24 11:12:47 UTC
[cxf] branch master updated: Some optimisations for the Header code
This is an automated email from the ASF dual-hosted git repository.
coheigea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/master by this push:
new f1c1a95 Some optimisations for the Header code
f1c1a95 is described below
commit f1c1a95a90765e219742b4523c94c37b7688743f
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Tue Apr 24 12:12:27 2018 +0100
Some optimisations for the Header code
---
.../org/apache/cxf/helpers/HttpHeaderHelper.java | 6 ++---
.../org/apache/cxf/transport/http/Headers.java | 30 ++++++++--------------
2 files changed, 14 insertions(+), 22 deletions(-)
diff --git a/core/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java b/core/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java
index ef1030a..a4befe2 100644
--- a/core/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java
+++ b/core/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java
@@ -81,8 +81,8 @@ public final class HttpHeaderHelper {
int idx = contentType.indexOf("charset=");
if (idx != -1) {
String charset = contentType.substring(idx + 8);
- if (charset.indexOf(";") != -1) {
- charset = charset.substring(0, charset.indexOf(";")).trim();
+ if (charset.indexOf(';') != -1) {
+ charset = charset.substring(0, charset.indexOf(';')).trim();
}
if (charset.isEmpty()) {
return null;
@@ -106,7 +106,7 @@ public final class HttpHeaderHelper {
}
//older versions of tomcat don't properly parse ContentType headers with stuff
//after charset=StandardCharsets.UTF_8
- int idx = enc.indexOf(";");
+ int idx = enc.indexOf(';');
if (idx != -1) {
enc = enc.substring(0, idx);
}
diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
index e7ee2c3..df11086 100644
--- a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
+++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
@@ -32,6 +32,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import java.util.TimeZone;
import java.util.TreeMap;
@@ -291,16 +292,15 @@ public class Headers {
public void readFromConnection(HttpURLConnection connection) {
Map<String, List<String>> origHeaders = connection.getHeaderFields();
headers.clear();
- for (String key : connection.getHeaderFields().keySet()) {
- if (key != null) {
- headers.put(HttpHeaderHelper.getHeaderKey(key),
- origHeaders.get(key));
+ for (Entry<String, List<String>> entry : origHeaders.entrySet()) {
+ if (entry.getKey() != null) {
+ headers.put(HttpHeaderHelper.getHeaderKey(entry.getKey()), entry.getValue());
}
}
}
private static List<String> createMutableList(String val) {
- return new ArrayList<>(Arrays.asList(new String[] {val}));
+ return new ArrayList<>(Arrays.asList(val));
}
/**
@@ -367,7 +367,7 @@ public class Headers {
}
transferProtocolHeadersToURLConnection(connection);
-
+
Map<String, List<Object>> theHeaders = CastUtils.cast(headers);
logProtocolHeaders(LOG, Level.FINE, theHeaders, logSensitiveHeaders());
}
@@ -405,24 +405,15 @@ public class Headers {
boolean addHeaders = MessageUtils.getContextualBoolean(message, ADD_HEADERS_PROPERTY, false);
for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
String header = entry.getKey();
- List<String> headerList = entry.getValue();
-
if (HttpHeaderHelper.CONTENT_TYPE.equalsIgnoreCase(header)) {
continue;
}
+
+ List<String> headerList = entry.getValue();
if (addHeaders || HttpHeaderHelper.COOKIE.equalsIgnoreCase(header)) {
- for (String s : headerList) {
- connection.addRequestProperty(header, s);
- }
+ headerList.forEach(s -> connection.addRequestProperty(header, s));
} else {
- StringBuilder b = new StringBuilder();
- for (int i = 0; i < headerList.size(); i++) {
- b.append(headerList.get(i));
- if (i + 1 < headerList.size()) {
- b.append(',');
- }
- }
- connection.setRequestProperty(header, b.toString());
+ connection.setRequestProperty(header, String.join(",", headerList));
}
}
// make sure we don't add more than one User-Agent header
@@ -473,6 +464,7 @@ public class Headers {
// Not allowed by default
return PropertyUtils.isTrue(message.getContextualProperty(ALLOW_LOGGING_SENSITIVE_HEADERS));
}
+
private String getContentTypeFromMessage() {
final String ct = (String)message.get(Message.CONTENT_TYPE);
final String enc = (String)message.get(Message.ENCODING);
--
To stop receiving notification emails like this one, please contact
coheigea@apache.org.