Skip to content

chore: log that HTTP/3 is not used through proxies - #1580

Open
jlouvel wants to merge 1 commit into
feat/netty-socks-proxyfrom
chore/netty-http3-proxy-notice
Open

jlouvel wants to merge 1 commit into
feat/netty-socks-proxyfrom
chore/netty-http3-proxy-notice

Conversation

@jlouvel

@jlouvel jlouvel commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

Refs #1572 (doesn't close it). Based on #1579.

In the HTTP3 transport mode, HTTPS requests that go through an HTTP or SOCKS proxy fall back to HTTP/1.1 over TCP. Proxying QUIC needs CONNECT-UDP (RFC 9298, MASQUE), which Netty doesn't support yet. This PR only makes the fallback visible. #1572 stays open to track real support.

Changes

  • NettyClientHelper.start(): when the HTTP3 mode is combined with an HTTPS or SOCKS proxy, one INFO message says that HTTP/3 is not used through proxies. It is logged once at startup instead of per request.
  • httpClientTransportMode Javadoc: "without HTTP or SOCKS proxy".

No changes.md entry for a log line. There's no test either: starting the HTTP3 mode needs the native QUIC library.

Validation

./mvnw -B -pl org.restlet -P default,test verify at the top of the stack (this branch, including #1574 to #1579): 2,228 tests passed, 0 failures. JaCoCo checks are met, and SpotBugs reports 8 findings, under the threshold of 9.

🤖 Generated with Claude Code

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are reported for the change documenting and logging the existing HTTP/3 proxy fallback.

No open issues 🎉

What changed in this PR

Makes the Netty client's existing HTTP/3 proxy fallback visible without changing transport behavior or adding HTTP/3 proxy support.

Changes:

  • Logs an INFO message once at startup when HTTP3 mode is configured with an HTTPS or SOCKS proxy, explaining the HTTP/1.1-over-TCP fallback.
  • Clarifies in the transport-mode Javadoc that HTTP/3 applies to HTTPS requests without an HTTP or SOCKS proxy.
File Description
org.restlet/​src/​main/​java/​org/​restlet/​engine/​netty/​NettyClientHelper.java Adds the startup fallback message and clarifies the HTTP/3 proxy limitation in Javadoc.

Review effort: Balanced

@jlouvel
jlouvel force-pushed the chore/netty-http3-proxy-notice branch from 63671c2 to 5654564 Compare October 31, 2026 06:07
In the HTTP3 transport mode, the Netty client sends the HTTPS requests
going through an HTTP or SOCKS proxy over TCP, since proxying QUIC
requires CONNECT-UDP (RFC 9298), which Netty doesn't support yet. Log it
at startup so that the fallback is visible, and mention SOCKS proxies in
the httpClientTransportMode Javadoc.

Refs #1572.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Jerome Louvel <374450+jlouvel@users.noreply.github.com>
@jlouvel
jlouvel force-pushed the feat/netty-socks-proxy branch from 1b3068f to 8a20e06 Compare October 31, 2026 07:44
@jlouvel
jlouvel force-pushed the chore/netty-http3-proxy-notice branch from 5654564 to 0cb3622 Compare October 31, 2026 07:44
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants