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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ce8a8326d3a8368b24e4b547c5d3e12b2a0633a0
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Mar 21 13:49:13 2023 +0100

    CAMEL-19178: camel-common-http - Make HttpBinding more reusable
---
 .../apache/camel/http/common/DefaultHttpBinding.java    | 17 ++++++++---------
 .../java/org/apache/camel/http/common/HttpBinding.java  |  9 +++++----
 .../java/org/apache/camel/http/common/HttpMessage.java  |  2 +-
 .../camel/component/jetty/JettyRestHttpBinding.java     |  4 ++--
 .../camel/component/jetty11/AttachmentHttpBinding.java  |  6 +++---
 .../camel/component/servlet/AttachmentHttpBinding.java  |  4 ++--
 .../camel/component/servlet/ServletRestHttpBinding.java |  4 ++--
 7 files changed, 23 insertions(+), 23 deletions(-)

diff --git 
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
 
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
index 8b1ba5f4128..3b00652496f 100644
--- 
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
+++ 
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java
@@ -110,7 +110,7 @@ public class DefaultHttpBinding implements HttpBinding {
     }
 
     @Override
-    public void readRequest(HttpServletRequest request, HttpMessage message) {
+    public void readRequest(HttpServletRequest request, Message message) {
         LOG.trace("readRequest {}", request);
 
         // must read body before headers
@@ -152,7 +152,7 @@ public class DefaultHttpBinding implements HttpBinding {
         }
     }
 
-    protected void readHeaders(HttpServletRequest request, HttpMessage 
message) {
+    protected void readHeaders(HttpServletRequest request, Message message) {
         LOG.trace("readHeaders {}", request);
 
         Map<String, Object> headers = message.getHeaders();
@@ -194,7 +194,7 @@ public class DefaultHttpBinding implements HttpBinding {
         }
     }
 
-    protected void readBody(HttpServletRequest request, HttpMessage message) {
+    protected void readBody(HttpServletRequest request, Message message) {
         LOG.trace("readBody {}", request);
 
         // lets parse the body
@@ -228,7 +228,7 @@ public class DefaultHttpBinding implements HttpBinding {
         populateAttachments(request, message);
     }
 
-    protected void populateRequestParameters(HttpServletRequest request, 
HttpMessage message) {
+    protected void populateRequestParameters(HttpServletRequest request, 
Message message) {
         //we populate the http request parameters without checking the request 
method
         Map<String, Object> headers = message.getHeaders();
         Enumeration<?> names = request.getParameterNames();
@@ -249,7 +249,7 @@ public class DefaultHttpBinding implements HttpBinding {
         }
     }
 
-    protected void readFormUrlEncodedBody(HttpServletRequest request, 
HttpMessage message) throws UnsupportedEncodingException {
+    protected void readFormUrlEncodedBody(HttpServletRequest request, Message 
message) throws UnsupportedEncodingException {
         LOG.trace("readFormUrlEncodedBody {}", request);
         // should we extract key=value pairs from form bodies 
(application/x-www-form-urlencoded)
         // and map those to Camel headers
@@ -311,7 +311,7 @@ public class DefaultHttpBinding implements HttpBinding {
         return uri.substring(contextPath.length() + servletPath.length());
     }
 
-    protected void populateAttachments(HttpServletRequest request, HttpMessage 
message) {
+    protected void populateAttachments(HttpServletRequest request, Message 
message) {
         // check if there is multipart files, if so will put it into 
DataHandler
         Enumeration<?> names = request.getAttributeNames();
         while (names.hasMoreElements()) {
@@ -633,9 +633,8 @@ public class DefaultHttpBinding implements HttpBinding {
     }
 
     @Override
-    public Object parseBody(HttpMessage httpMessage) throws IOException {
+    public Object parseBody(HttpServletRequest request, Message message) 
throws IOException {
         // lets assume the body is a reader
-        HttpServletRequest request = httpMessage.getRequest();
         // there is only a body if we have a content length, or its -1 to 
indicate unknown length
         int len = request.getContentLength();
         LOG.trace("HttpServletRequest content-length: {}", len);
@@ -655,7 +654,7 @@ public class DefaultHttpBinding implements HttpBinding {
                 }
             }
             // read the response body from servlet request
-            return HttpHelper.readRequestBodyFromServletRequest(request, 
httpMessage.getExchange());
+            return HttpHelper.readRequestBodyFromServletRequest(request, 
message.getExchange());
         }
     }
 
diff --git 
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpBinding.java
 
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpBinding.java
index ca380f0a3c2..1d08be3ce88 100644
--- 
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpBinding.java
+++ 
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpBinding.java
@@ -39,18 +39,19 @@ public interface HttpBinding {
      * @param request the request
      * @param message the message to populate with data from request
      */
-    void readRequest(HttpServletRequest request, HttpMessage message);
+    void readRequest(HttpServletRequest request, Message message);
 
     /**
-     * Parses the body from a {@link org.apache.camel.http.common.HttpMessage}
+     * Parses the body from servlet request
      *
-     * @param  httpMessage         the http message
+     * @param  request             the request
+     * @param  message             the message
      * @return                     the parsed body returned as either a {@link 
java.io.InputStream} or a
      *                             {@link java.io.Reader} depending on the 
{@link #setUseReaderForPayload(boolean)}
      *                             property.
      * @throws java.io.IOException can be thrown
      */
-    Object parseBody(HttpMessage httpMessage) throws IOException;
+    Object parseBody(HttpServletRequest request, Message message) throws 
IOException;
 
     /**
      * Writes the exchange to the servlet response.
diff --git 
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpMessage.java
 
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpMessage.java
index 9fd3abb84e1..56edd680bfe 100644
--- 
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpMessage.java
+++ 
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpMessage.java
@@ -98,7 +98,7 @@ public class HttpMessage extends DefaultMessage {
         }
 
         try {
-            return endpoint.getHttpBinding().parseBody(this);
+            return endpoint.getHttpBinding().parseBody(request, this);
         } catch (IOException e) {
             throw new RuntimeCamelException(e);
         } finally {
diff --git 
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
 
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
index e6205c117a2..fcc30a4b1f7 100644
--- 
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
+++ 
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyRestHttpBinding.java
@@ -18,9 +18,9 @@ package org.apache.camel.component.jetty;
 
 import jakarta.servlet.http.HttpServletRequest;
 
+import org.apache.camel.Message;
 import org.apache.camel.http.common.DefaultHttpBinding;
 import org.apache.camel.http.common.HttpCommonEndpoint;
-import org.apache.camel.http.common.HttpMessage;
 
 import static org.apache.camel.http.base.HttpHelper.evalPlaceholders;
 
@@ -40,7 +40,7 @@ public class JettyRestHttpBinding extends DefaultHttpBinding {
     }
 
     @Override
-    protected void populateRequestParameters(HttpServletRequest request, 
HttpMessage message) {
+    protected void populateRequestParameters(HttpServletRequest request, 
Message message) {
         super.populateRequestParameters(request, message);
 
         String path = request.getPathInfo();
diff --git 
a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty11/AttachmentHttpBinding.java
 
b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty11/AttachmentHttpBinding.java
index 76bc38275d6..e4a19c17412 100644
--- 
a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty11/AttachmentHttpBinding.java
+++ 
b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty11/AttachmentHttpBinding.java
@@ -29,6 +29,7 @@ import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.Part;
 
 import org.apache.camel.Exchange;
+import org.apache.camel.Message;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.attachment.Attachment;
 import org.apache.camel.attachment.AttachmentMessage;
@@ -36,7 +37,6 @@ import org.apache.camel.attachment.DefaultAttachment;
 import org.apache.camel.component.jetty.MultiPartFilter;
 import org.apache.camel.http.common.DefaultHttpBinding;
 import org.apache.camel.http.common.HttpHelper;
-import org.apache.camel.http.common.HttpMessage;
 import org.eclipse.jetty.http.HttpFields;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -53,7 +53,7 @@ final class AttachmentHttpBinding extends DefaultHttpBinding {
     }
 
     @Override
-    protected void populateAttachments(HttpServletRequest request, HttpMessage 
message) {
+    protected void populateAttachments(HttpServletRequest request, Message 
message) {
         Boolean object = (Boolean) 
request.getAttribute(MultiPartFilter.MULTIPART);
         if (object != null && object) {
             Collection<Part> parts;
@@ -86,7 +86,7 @@ final class AttachmentHttpBinding extends DefaultHttpBinding {
     }
 
     @Override
-    protected void populateRequestParameters(HttpServletRequest request, 
HttpMessage message) {
+    protected void populateRequestParameters(HttpServletRequest request, 
Message message) {
         // we populate the http request parameters without checking the request
         // method
         Map<String, Object> headers = message.getHeaders();
diff --git 
a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/AttachmentHttpBinding.java
 
b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/AttachmentHttpBinding.java
index 0a2f74713ca..1b360d5c0ec 100644
--- 
a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/AttachmentHttpBinding.java
+++ 
b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/AttachmentHttpBinding.java
@@ -26,12 +26,12 @@ import jakarta.activation.DataSource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.Part;
 
+import org.apache.camel.Message;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.attachment.Attachment;
 import org.apache.camel.attachment.AttachmentMessage;
 import org.apache.camel.attachment.DefaultAttachment;
 import org.apache.camel.http.common.DefaultHttpBinding;
-import org.apache.camel.http.common.HttpMessage;
 import org.apache.camel.util.FileUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -49,7 +49,7 @@ public final class AttachmentHttpBinding extends 
DefaultHttpBinding {
     }
 
     @Override
-    protected void populateAttachments(HttpServletRequest request, HttpMessage 
message) {
+    protected void populateAttachments(HttpServletRequest request, Message 
message) {
         try {
             Collection<Part> parts = request.getParts();
             for (Part part : parts) {
diff --git 
a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
 
b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
index 22b569c0f6c..2b8567a361a 100644
--- 
a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
+++ 
b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletRestHttpBinding.java
@@ -18,8 +18,8 @@ package org.apache.camel.component.servlet;
 
 import jakarta.servlet.http.HttpServletRequest;
 
+import org.apache.camel.Message;
 import org.apache.camel.http.common.DefaultHttpBinding;
-import org.apache.camel.http.common.HttpMessage;
 
 import static org.apache.camel.http.base.HttpHelper.evalPlaceholders;
 
@@ -29,7 +29,7 @@ public class ServletRestHttpBinding extends 
DefaultHttpBinding {
     }
 
     @Override
-    protected void populateRequestParameters(HttpServletRequest request, 
HttpMessage message) {
+    protected void populateRequestParameters(HttpServletRequest request, 
Message message) {
         super.populateRequestParameters(request, message);
 
         String path = request.getPathInfo();

Reply via email to