This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-3.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit 175fa22b1fa364d305999a13251d6127e0232242 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/jetty9/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 c372fed310f..9727b36a265 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 47e71359ead..e7923ace9cf 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 f0a21bada8b..04237e5d039 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 147e8fa563b..3fc73e61e46 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 javax.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/jetty9/AttachmentHttpBinding.java b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty9/AttachmentHttpBinding.java index d7b54b1d1a7..2446167ec23 100644 --- a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty9/AttachmentHttpBinding.java +++ b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty9/AttachmentHttpBinding.java @@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletRequest; import javax.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.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,7 +52,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; @@ -85,7 +85,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 e9296d09a66..328a9523d69 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 javax.activation.DataSource; import javax.servlet.http.HttpServletRequest; import javax.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 0c23f26cc6e..3dfbf16c1cc 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 javax.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();