You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/09/11 10:21:48 UTC

camel git commit: CAMEL-9586: Add getRequestHeaders to JettyContentExchange. Thanks to James Lindstorff for the patch.

Repository: camel
Updated Branches:
  refs/heads/master 546f347bb -> 7ac77fe38


CAMEL-9586: Add getRequestHeaders to JettyContentExchange. Thanks to James Lindstorff for the patch.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/7ac77fe3
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7ac77fe3
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7ac77fe3

Branch: refs/heads/master
Commit: 7ac77fe38e80cc42390529ac3f94985c720de9be
Parents: 546f347
Author: Claus Ibsen <da...@apache.org>
Authored: Fri Sep 11 10:22:48 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Sep 11 10:22:48 2015 +0200

----------------------------------------------------------------------
 .../component/jetty/JettyContentExchange.java   |  1 +
 .../component/jetty8/JettyContentExchange8.java | 48 ++++++++++++--------
 .../component/jetty9/JettyContentExchange9.java | 39 +++++++++-------
 3 files changed, 51 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/7ac77fe3/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java
index aef8935..af63606 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java
@@ -66,4 +66,5 @@ public interface JettyContentExchange {
 
     Map<String, Collection<String>> getResponseHeaders();
 
+    Map<String, Collection<String>> getRequestHeaders();
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/7ac77fe3/components/camel-jetty8/src/main/java/org/apache/camel/component/jetty8/JettyContentExchange8.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty8/src/main/java/org/apache/camel/component/jetty8/JettyContentExchange8.java b/components/camel-jetty8/src/main/java/org/apache/camel/component/jetty8/JettyContentExchange8.java
index 857877c..2e5d3ca 100644
--- a/components/camel-jetty8/src/main/java/org/apache/camel/component/jetty8/JettyContentExchange8.java
+++ b/components/camel-jetty8/src/main/java/org/apache/camel/component/jetty8/JettyContentExchange8.java
@@ -44,8 +44,6 @@ import org.slf4j.LoggerFactory;
 
 /**
  * Jetty specific exchange which keeps track of the the request and response.
- *
- * @version 
  */
 public class JettyContentExchange8 implements JettyContentExchange {
 
@@ -57,12 +55,12 @@ public class JettyContentExchange8 implements JettyContentExchange {
     private volatile HttpClient client;
     private final CountDownLatch done = new CountDownLatch(1);
     private final ContentExchange ce;
-    
+
     public JettyContentExchange8() {
         this.ce = new ContentExchange(true);
     }
 
-    public void init(Exchange exchange, JettyHttpBinding jettyBinding, 
+    public void init(Exchange exchange, JettyHttpBinding jettyBinding,
                      final HttpClient client, AsyncCallback callback) {
         this.exchange = exchange;
         this.jettyBinding = jettyBinding;
@@ -107,13 +105,13 @@ public class JettyContentExchange8 implements JettyContentExchange {
                     JettyContentExchange8.this.onExpire();
                 }
             }
-            
+
         });
     }
 
     protected void onRequestComplete() throws IOException {
         LOG.trace("onRequestComplete");
-        
+
         closeRequestContentSource();
     }
 
@@ -153,11 +151,11 @@ public class JettyContentExchange8 implements JettyContentExchange {
 
     public String getUrl() {
         String params = ce.getRequestFields().getStringField(HttpHeaders.CONTENT_ENCODING);
-        return ce.getScheme() + "://" 
-            + ce.getAddress().toString() 
-            + ce.getRequestURI() + (params != null ? "?" + params : "");
+        return ce.getScheme() + "://"
+                + ce.getAddress().toString()
+                + ce.getRequestURI() + (params != null ? "?" + params : "");
     }
-    
+
     protected void closeRequestContentSource() {
         // close the input stream when its not needed anymore
         InputStream is = ce.getRequestContentSource();
@@ -230,14 +228,15 @@ public class JettyContentExchange8 implements JettyContentExchange {
     public void setMethod(String method) {
         ce.setMethod(method);
     }
-    
+
     public void setURL(String url) {
         ce.setURL(url);
     }
 
     public void setRequestContent(byte[] byteArray) {
-        ce.setRequestContent(new org.eclipse.jetty.io.ByteArrayBuffer(byteArray));        
+        ce.setRequestContent(new org.eclipse.jetty.io.ByteArrayBuffer(byteArray));
     }
+
     public void setRequestContent(String data, String charset) throws UnsupportedEncodingException {
         if (charset == null) {
             ce.setRequestContent(new org.eclipse.jetty.io.ByteArrayBuffer(data));
@@ -245,8 +244,9 @@ public class JettyContentExchange8 implements JettyContentExchange {
             ce.setRequestContent(new org.eclipse.jetty.io.ByteArrayBuffer(data, charset));
         }
     }
+
     public void setRequestContent(InputStream ins) {
-        ce.setRequestContentSource(ins);        
+        ce.setRequestContentSource(ins);
     }
 
     public void addRequestHeader(String key, String s) {
@@ -260,14 +260,22 @@ public class JettyContentExchange8 implements JettyContentExchange {
     public byte[] getResponseContentBytes() {
         return ce.getResponseContentBytes();
     }
-    
-    public Map<String, Collection<String>> getResponseHeaders() {
-        final HttpFields f = ce.getResponseFields();
-        Map<String, Collection<String>> ret = new TreeMap<String, Collection<String>>(String.CASE_INSENSITIVE_ORDER);
-        for (String n : f.getFieldNamesCollection()) {
-            ret.put(n,  f.getValuesCollection(n));
+
+    private Map<String, Collection<String>> getFieldsAsMap(HttpFields fields) {
+        final Map<String, Collection<String>> result = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+        for (String name : fields.getFieldNamesCollection()) {
+            result.put(name, fields.getValuesCollection(name));
         }
-        return ret;
+        return result;
+    }
+
+    public Map<String, Collection<String>> getRequestHeaders() {
+        return getFieldsAsMap(ce.getRequestFields());
+    }
+
+
+    public Map<String, Collection<String>> getResponseHeaders() {
+        return getFieldsAsMap(ce.getResponseFields());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/7ac77fe3/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyContentExchange9.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyContentExchange9.java b/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyContentExchange9.java
index d9f7e14..f9966cc 100644
--- a/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyContentExchange9.java
+++ b/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyContentExchange9.java
@@ -48,8 +48,6 @@ import org.slf4j.LoggerFactory;
 
 /**
  * Jetty specific exchange which keeps track of the the request and response.
- *
- * @version 
  */
 public class JettyContentExchange9 implements JettyContentExchange {
 
@@ -68,14 +66,14 @@ public class JettyContentExchange9 implements JettyContentExchange {
 
     private boolean supportRedirect;
 
-    public void init(Exchange exchange, JettyHttpBinding jettyBinding, 
+    public void init(Exchange exchange, JettyHttpBinding jettyBinding,
                      final HttpClient client, AsyncCallback callback) {
         this.exchange = exchange;
         this.jettyBinding = jettyBinding;
         this.client = client;
         this.callback = callback;
     }
-    
+
     protected void onRequestComplete() {
         LOG.trace("onRequestComplete");
         closeRequestContentSource();
@@ -135,15 +133,15 @@ public class JettyContentExchange9 implements JettyContentExchange {
             throw new IllegalStateException(e.getMessage(), e);
         }
     }
-    
+
     protected void closeRequestContentSource() {
         tryClose(this.request.getContent());
     }
-    
+
     private void tryClose(Object obj) {
         if (obj instanceof Closeable) {
             try {
-                ((Closeable)obj).close();
+                ((Closeable) obj).close();
             } catch (IOException e) {
                 // Ignore
             }
@@ -175,11 +173,11 @@ public class JettyContentExchange9 implements JettyContentExchange {
     public void setMethod(String method) {
         this.request.method(method);
     }
-    
+
     public void setTimeout(long timeout) {
         this.request.timeout(timeout, TimeUnit.MILLISECONDS);
     }
-    
+
     public void setURL(String url) {
         this.request = client.newRequest(url);
     }
@@ -194,7 +192,7 @@ public class JettyContentExchange9 implements JettyContentExchange {
     }
 
     public void setRequestContent(InputStream ins) {
-        this.request.content(new InputStreamContentProvider(ins), this.requestContentType);        
+        this.request.content(new InputStreamContentProvider(ins), this.requestContentType);
     }
 
     public void addRequestHeader(String key, String s) {
@@ -236,14 +234,21 @@ public class JettyContentExchange9 implements JettyContentExchange {
     public byte[] getResponseContentBytes() {
         return responseContent;
     }
-    
-    public Map<String, Collection<String>> getResponseHeaders() {
-        final HttpFields f = response.getHeaders();
-        Map<String, Collection<String>> ret = new TreeMap<String, Collection<String>>(String.CASE_INSENSITIVE_ORDER);
-        for (String n : f.getFieldNamesCollection()) {
-            ret.put(n,  f.getValuesList(n));
+
+    private Map<String, Collection<String>> getFieldsAsMap(HttpFields fields) {
+        final Map<String, Collection<String>> result = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+        for (String name : fields.getFieldNamesCollection()) {
+            result.put(name, fields.getValuesList(name));
         }
-        return ret;
+        return result;
+    }
+
+    public Map<String, Collection<String>> getRequestHeaders() {
+        return getFieldsAsMap(request.getHeaders());
+    }
+
+    public Map<String, Collection<String>> getResponseHeaders() {
+        return getFieldsAsMap(response.getHeaders());
     }
 
     @Override