Skip to content

Introduce HTTP/3 configuration#98

Open
aryan-25 wants to merge 4 commits into
swift-server:mainfrom
aryan-25:introduce-http3-configuration
Open

Introduce HTTP/3 configuration#98
aryan-25 wants to merge 4 commits into
swift-server:mainfrom
aryan-25:introduce-http3-configuration

Conversation

@aryan-25

Copy link
Copy Markdown
Collaborator

Motivation:

swift-nio-quic and swift-nio-http3 have recently been announced, paving the way for HTTP/3 support in NIOHTTPServer.

This PR introduces HTTP/3 configuration types as a first step towards HTTP/3 support.

Modifications:

  • Introduced a new HTTP3 type under NIOHTTPServerConfiguration containing three sub-components, namely QUICConfiguration, ProtocolConfiguration, and ConnectionSettings. These types wrap over the corresponding NIOQUIC and NIOHTTP3 types.

  • Added swift-nio-quic, swift-nio-quic-helpers, and swift-nio-http3 dependencies.

Result:

HTTP/3 configuration types are now defined.

@aryan-25 aryan-25 requested review from FranzBusch and gjcairo July 14, 2026 18:02
@aryan-25 aryan-25 added the 🆕 semver/minor Adds new public API. label Jul 14, 2026
Comment thread .github/workflows/apibreakage.yml
/// `SETTINGS_MAX_FIELD_SECTION_SIZE`.
public var maximumFieldSectionSize: UInt64?

/// The default configuration.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm thinking we should perhaps move the comments about default values to here instead of having them at the property level, since they're really set at this point. This applies to all types.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Addressed in commit 57f8229.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks. With "all types" I meant other files as well, since we have this pattern elsewhere too. Would you mind making that change?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Addressed in commit 555877d.

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

Labels

🆕 semver/minor Adds new public API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants