0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 04:10:24 +00:00
Commit graph

4 commits

Author SHA1 Message Date
Loïc Hoguin
a8c717718a
Update to most recent WebTransport draft
Some checks failed
Check Cowboy / Cleanup master build (push) Has been cancelled
Check Cowboy / Check examples (push) Has been cancelled
Check Cowboy / Cowboy (push) Has been cancelled
WEBTRANSPORT -> WT in most places. Only ENABLE_WEBTRANSPORT
remains (since it is a draft-02 setting that was later removed)
as well as internal functions and atoms about stream headers,
for greater clarity.

The draft also clarified that WT_SESSION_GONE can be sent on
the session stream and since it's what is already done a
related todo was removed.
2025-06-25 11:47:25 +02:00
Loïc Hoguin
58909b0144
Initial WebTransport implementation
This implements the upcoming draft-13
but has bits to make it work with draft-02
that most (all?) Chromium versions use.

Data and events are not going through
cowboy_stream beyond init. Since this
approach appears to work well it may
be a good idea to do the same for
Websocket over HTTP/2+ and improve
its performance.
2025-06-19 16:27:07 +02:00
Loïc Hoguin
eef66e0928
Remove copyright years from all files except LICENSE 2025-02-17 15:00:02 +01:00
Loïc Hoguin
8cb9d242b0
Initial HTTP/3 implementation
This includes Websocket over HTTP/3.

Since quicer, which provides the QUIC implementation,
is a NIF, Cowboy cannot depend directly on it. In order
to enable QUIC and HTTP/3, users have to set the
COWBOY_QUICER environment variable:

  export COWBOY_QUICER=1

In order to run the test suites, the same must be done
for Gun:

  export GUN_QUICER=1

HTTP/3 support is currently not available on Windows
due to compilation issues of quicer which have yet to
be looked at or resolved.

HTTP/3 support is also unavailable on the upcoming
OTP-27 due to compilation errors in quicer dependencies.
Once resolved HTTP/3 should work on OTP-27.

Because of how QUIC currently works, it's possible
that streams that get reset after sending a response
do not receive that response. The test suite was
modified to accomodate for that. A future extension
to QUIC will allow us to gracefully reset streams.

This also updates Erlang.mk.
2024-03-26 15:53:48 +01:00