This is an automated email from the ASF dual-hosted git repository.
fmariani pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 91b5c366cd2 chore(deps): Bump jetty-version from 12.0.25 to 12.1.0
(#18940)
91b5c366cd2 is described below
commit 91b5c366cd2a60b1d9c9e01f8eafcc21496884bd
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Wed Aug 20 11:41:12 2025 +0200
chore(deps): Bump jetty-version from 12.0.25 to 12.1.0 (#18940)
* chore(deps): Bump jetty-version from 12.0.25 to 12.1.0
Bumps `jetty-version` from 12.0.25 to 12.1.0.
Updates `org.eclipse.jetty.ee10:jetty-ee10-webapp` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty.ee10:jetty-ee10-servlet` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty:jetty-server` from 12.0.25 to 12.1.0
Updates
`org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server` from
12.0.25 to 12.1.0
Updates `org.eclipse.jetty.websocket:jetty-websocket-jetty-server` from
12.0.25 to 12.1.0
Updates `org.eclipse.jetty:jetty-security` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty.ee10:jetty-ee10-servlets` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty:jetty-client` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty:jetty-jmx` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty:jetty-util` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty.http2:jetty-http2-client` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty.http2:jetty-http2-client-transport` from 12.0.25
to 12.1.0
Updates `org.eclipse.jetty:jetty-util-ajax` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty:jetty-io` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty:jetty-proxy` from 12.0.25 to 12.1.0
Updates `org.eclipse.jetty.ee9:jetty-ee9-servlet` from 12.0.25 to 12.1.0
---
updated-dependencies:
- dependency-name: org.eclipse.jetty.ee10:jetty-ee10-webapp
dependency-version: 12.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty.ee10:jetty-ee10-servlet
dependency-version: 12.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty:jetty-server
dependency-version: 12.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name:
org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server
dependency-version: 12.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty.websocket:jetty-websocket-jetty-server
dependency-version: 12.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty:jetty-security
dependency-version: 12.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty.ee10:jetty-ee10-servlets
dependency-version: 12.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty:jetty-client
dependency-version: 12.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty:jetty-jmx
dependency-version: 12.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty:jetty-util
dependency-version: 12.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty.http2:jetty-http2-client
dependency-version: 12.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty.http2:jetty-http2-client-transport
dependency-version: 12.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty:jetty-util-ajax
dependency-version: 12.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty:jetty-io
dependency-version: 12.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty:jetty-proxy
dependency-version: 12.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.eclipse.jetty.ee9:jetty-ee9-servlet
dependency-version: 12.1.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <[email protected]>
* Upgrade to Jetty 12.1
* Handle multipart parsing changes in Jetty 12.1
---------
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot]
<49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Croway <[email protected]>
---
.../component/jetty12/AttachmentHttpBinding.java | 58 +++++++++++++---------
.../jetty/HttpBridgeMultipartRouteTest.java | 4 +-
.../component/jetty/JettyHttpContentTypeTest.java | 5 +-
.../camel/component/jetty/MyErrorHandler.java | 4 +-
components/camel-platform-http/pom.xml | 6 ---
parent/pom.xml | 2 +-
6 files changed, 43 insertions(+), 36 deletions(-)
diff --git
a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/AttachmentHttpBinding.java
b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/AttachmentHttpBinding.java
index 6e7597e2320..a7af8bce33a 100644
---
a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/AttachmentHttpBinding.java
+++
b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty12/AttachmentHttpBinding.java
@@ -104,35 +104,45 @@ final class AttachmentHttpBinding extends
DefaultHttpBinding {
// attachment is optional
AttachmentMessage am = new DefaultAttachmentMessage(message);
- Enumeration<?> names = request.getParameterNames();
- while (names.hasMoreElements()) {
- String name = (String) names.nextElement();
- if (am.getAttachment(name) != null) {
- DataHandler dh = am.getAttachment(name);
- Object value = dh;
- if (dh.getContentType() == null ||
dh.getContentType().startsWith("text/plain")) {
- value = request.getParameter(name);
- }
- if (getHeaderFilterStrategy() != null
- &&
!getHeaderFilterStrategy().applyFilterToExternalHeaders(name, value,
message.getExchange())) {
- HttpHelper.appendHeader(headers, name, value);
- }
- continue;
- }
-
- // there may be multiple values for the same name
- String[] values = request.getParameterValues(name);
- if (LOG.isTraceEnabled()) {
- LOG.trace("HTTP parameter {} = {}", name,
HttpHelper.sanitizeLog(values));
- }
-
- if (values != null) {
- for (String value : values) {
+ try {
+ Enumeration<?> names = request.getParameterNames();
+ while (names.hasMoreElements()) {
+ String name = (String) names.nextElement();
+ if (am.getAttachment(name) != null) {
+ DataHandler dh = am.getAttachment(name);
+ Object value = dh;
+ if (dh.getContentType() == null ||
dh.getContentType().startsWith("text/plain")) {
+ value = request.getParameter(name);
+ }
if (getHeaderFilterStrategy() != null
&&
!getHeaderFilterStrategy().applyFilterToExternalHeaders(name, value,
message.getExchange())) {
HttpHelper.appendHeader(headers, name, value);
}
+ continue;
}
+
+ // there may be multiple values for the same name
+ String[] values = request.getParameterValues(name);
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("HTTP parameter {} = {}", name,
HttpHelper.sanitizeLog(values));
+ }
+
+ if (values != null) {
+ for (String value : values) {
+ if (getHeaderFilterStrategy() != null
+ &&
!getHeaderFilterStrategy().applyFilterToExternalHeaders(name, value,
+ message.getExchange())) {
+ HttpHelper.appendHeader(headers, name, value);
+ }
+ }
+ }
+ }
+ } catch (Exception e) {
+ // In Jetty 12.1.0+, getParameterNames() may fail for multipart
requests
+ // when multipart filter is disabled. This is expected behavior
when
+ // enableMultipartFilter=false is used, so we silently skip
parameter processing
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Failed to populate request parameters, likely due
to multipart parsing failure: {}", e.getMessage());
}
}
}
diff --git
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBridgeMultipartRouteTest.java
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBridgeMultipartRouteTest.java
index 57d178ed450..eb62bf3a8a7 100644
---
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBridgeMultipartRouteTest.java
+++
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpBridgeMultipartRouteTest.java
@@ -55,7 +55,9 @@ public class HttpBridgeMultipartRouteTest extends
BaseJettyTest {
File jpg = new File("src/test/resources/java.jpg");
String body = "TEST";
HttpPost method = new HttpPost("http://localhost:" + port2 +
"/test/hello");
- HttpEntity entity =
MultipartEntityBuilder.create().addTextBody("body",
body).addBinaryBody(jpg.getName(), jpg).build();
+ HttpEntity entity = MultipartEntityBuilder.create()
+ .addTextBody("body", body)
+ .addBinaryBody(jpg.getName(), jpg).build();
method.setEntity(entity);
try (CloseableHttpClient client = HttpClients.createDefault();
diff --git
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpContentTypeTest.java
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpContentTypeTest.java
index c2c77eef217..02759a2cbfa 100644
---
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpContentTypeTest.java
+++
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyHttpContentTypeTest.java
@@ -32,7 +32,8 @@ public class JettyHttpContentTypeTest extends BaseJettyTest {
@Test
public void testContentType() throws Exception {
getMockEndpoint("mock:input").expectedBodiesReceived("Hello World");
-
getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.CONTENT_TYPE,
"text/plain; charset=" + CHARSET);
+
getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.CONTENT_TYPE,
+ "text/plain; charset=" + CHARSET.toLowerCase());
getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_CHARACTER_ENCODING,
CHARSET);
getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_URL,
"http://127.0.0.1:" + getPort() + "/foo");
getMockEndpoint("mock:input").expectedPropertyReceived(Exchange.CHARSET_NAME,
CHARSET);
@@ -49,7 +50,7 @@ public class JettyHttpContentTypeTest extends BaseJettyTest {
public void testContentTypeWithAction() throws Exception {
getMockEndpoint("mock:input").expectedBodiesReceived("Hello World");
getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.CONTENT_TYPE,
- "text/plain; charset=" + CHARSET + ";
action=\"http://somewhere.com/foo\"");
+ "text/plain; charset=" + CHARSET.toLowerCase() + ";
action=\"http://somewhere.com/foo\"");
getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_CHARACTER_ENCODING,
"ISO-8859-1");
getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_URL,
"http://127.0.0.1:" + getPort() + "/foo");
getMockEndpoint("mock:input").expectedPropertyReceived(Exchange.CHARSET_NAME,
"ISO-8859-1");
diff --git
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MyErrorHandler.java
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MyErrorHandler.java
index eeb98d25f4a..f74fa2dc512 100644
---
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MyErrorHandler.java
+++
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MyErrorHandler.java
@@ -27,12 +27,12 @@ public class MyErrorHandler extends ErrorHandler {
@Override
protected void writeErrorHtml(
- Request request, Writer writer, Charset charset, int code, String
message, Throwable cause, boolean showStacks)
+ Request request, Writer writer, Charset charset, int code, String
message, Throwable cause)
throws IOException {
String uri = request.getHttpURI().toString();
writeErrorHtmlMessage(request, writer, code, message, cause, uri);
- if (showStacks) {
+ if (isShowStacks()) {
writeErrorHtmlStacks(request, writer);
}
writer.write("<hr /><i><small>MyErrorHandler</small></i>");
diff --git a/components/camel-platform-http/pom.xml
b/components/camel-platform-http/pom.xml
index 1881c98b146..d98a2827b86 100644
--- a/components/camel-platform-http/pom.xml
+++ b/components/camel-platform-http/pom.xml
@@ -43,12 +43,6 @@
</dependency>
<!-- test infra -->
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-test-infra-jetty</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-test-infra-jetty</artifactId>
diff --git a/parent/pom.xml b/parent/pom.xml
index 99ed746a0eb..473af48e33a 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -287,7 +287,7 @@
<jcip-annotations-version>1.0-1</jcip-annotations-version>
<jcr-version>2.0</jcr-version>
<jedis-client-version>6.1.0</jedis-client-version>
- <jetty-version>12.0.25</jetty-version>
+ <jetty-version>12.1.0</jetty-version>
<jetty-for-solr-version>10.0.20</jetty-for-solr-version>
<jetty-plugin-version>${jetty-version}</jetty-plugin-version>
<jetty-runner-groupId>org.eclipse.jetty</jetty-runner-groupId>