nodejs / nodejs/node

quic: http/3 getting server settings and customSettings

Open
#63,362 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

http3 quic webtransport
Dominant language
JavaScript
Stars
122k
Forks
37.3k
Avg merge
4d 2h
Merged PRs (30d)
283

Description

For applications such as webtransport, http settings are important for negotiating capabilities.

The following problems may be present currently:
1.) I do not see a clear API path for a client that connects to a server to get the settings sent by the server.
Looking at the C++ code, I think the available settings could be on the SessionTicket,
However, if I immediately set a callback to onsessionticket after the Promise for QuicSession is fulfilled, I do not see a call.
@jasnell : Is there another API path to get this information? Or is this a bug, if I do not see the callback? Then I will try to make a test.
2.) nghttp3 does not seem to support settings beyond the settings hardcoded in the library. I will query upstream about implementing a mechanism similar to the customSettings mechanism currently used for http2.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the C++ QUIC implementation around SessionTicket and onsessionticket, then compare nghttp3’s hardcoded settings with HTTP/2’s customSettings mechanism. Confirm the intended API path for server settings and define tests for callback delivery and custom settings support; the issue is done when these behaviors have a clear implementation or upstream resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, javascript, nodejs
Domain
api, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
40/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.