<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cowboy.git/test/handlers, branch http3</title>
<subtitle>Small, fast, modern HTTP server for Erlang/OTP.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/'/>
<entry>
<title>Initial HTTP/3 implementation</title>
<updated>2024-03-26T14:53:48+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2023-01-31T10:07:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=8cb9d242b0a665cada6de8b9a9dfa329e0c06ee9'/>
<id>8cb9d242b0a665cada6de8b9a9dfa329e0c06ee9</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix match_qs with constraints when key is not present</title>
<updated>2024-01-23T13:11:29+00:00</updated>
<author>
<name>geeksilva97</name>
<email>edigleyssonsilva@gmail.com</email>
</author>
<published>2024-01-18T23:50:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=08c2be058a1c376fcb80465473b53085c14f88f5'/>
<id>08c2be058a1c376fcb80465473b53085c14f88f5</id>
<content type='text'>
Original fix by Ali Farhadi &lt;a.farhadi@gmail.com&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Original fix by Ali Farhadi &lt;a.farhadi@gmail.com&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>REST: Allow generate_etag to return undefined</title>
<updated>2024-01-16T15:28:52+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-01-16T15:28:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=defce46fdf85d16bbe3c0a8de6058334e8a53775'/>
<id>defce46fdf85d16bbe3c0a8de6058334e8a53775</id>
<content type='text'>
This allows conditionally generating an etag.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows conditionally generating an etag.
</pre>
</div>
</content>
</entry>
<entry>
<title>Confirm Websocket pong frames are received by handlers</title>
<updated>2024-01-16T11:20:38+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-01-16T11:20:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=08a8d7b9e981002545bf77af367c734d9ea162ab'/>
<id>08a8d7b9e981002545bf77af367c734d9ea162ab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reject responses with explicit set-cookie header</title>
<updated>2024-01-15T16:43:14+00:00</updated>
<author>
<name>geeksilva97</name>
<email>edigleyssonsilva@gmail.com</email>
</author>
<published>2024-01-09T19:45:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=308045fd67d0b37475f924e35a434a8642307cc2'/>
<id>308045fd67d0b37475f924e35a434a8642307cc2</id>
<content type='text'>
LH: The tests received a lot of fixes and tweaking.
    I also reworded the error message to be more concise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
LH: The tests received a lot of fixes and tweaking.
    I also reworded the error message to be more concise.
</pre>
</div>
</content>
</entry>
<entry>
<title>Better error message when trying to reply twice</title>
<updated>2024-01-09T12:06:11+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-01-09T12:06:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=906a7ffc3ceaee166f495b071a92ce703f5ce39d'/>
<id>906a7ffc3ceaee166f495b071a92ce703f5ce39d</id>
<content type='text'>
Also crash if trying to push after a reply was sent.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also crash if trying to push after a reply was sent.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve the error when trying to send a 204/304 with a body</title>
<updated>2024-01-09T09:59:40+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-01-09T09:59:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=a40bab8fb3491a587c93bedb53404decacfe49dc'/>
<id>a40bab8fb3491a587c93bedb53404decacfe49dc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Document body reading in auto mode</title>
<updated>2024-01-08T14:13:18+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-01-08T14:13:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=e4a78aaeb110a3eda5269b618230b8bcb18fbcc2'/>
<id>e4a78aaeb110a3eda5269b618230b8bcb18fbcc2</id>
<content type='text'>
It is now tested both via cowboy_req:read_body and
via cowboy_req:cast.

Removes a bad example from the guide of body reading
with period of infinity, which does not work.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is now tested both via cowboy_req:read_body and
via cowboy_req:cast.

Removes a bad example from the guide of body reading
with period of infinity, which does not work.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure HTTP/1.1 Websocket resets the trap_exit flag</title>
<updated>2024-01-08T10:47:59+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-01-08T10:44:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=c1490d7d5503636e7995583222cf8edf5f882db5'/>
<id>c1490d7d5503636e7995583222cf8edf5f882db5</id>
<content type='text'>
While we are identified as a supervisor in the tree,
we no longer manage children processes at that point,
so do not need to trap exit signals. Users can still
enable trap_exit if they prefer to.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While we are identified as a supervisor in the tree,
we no longer manage children processes at that point,
so do not need to trap exit signals. Users can still
enable trap_exit if they prefer to.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't automatically compress when response has etag</title>
<updated>2024-01-05T14:53:42+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2024-01-05T14:53:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=5b2f600036145653c48a7e8a60853e4a0ecc770b'/>
<id>5b2f600036145653c48a7e8a60853e4a0ecc770b</id>
<content type='text'>
In the cowboy_compress_h stream handler.

Otherwise this could cause issues with caching, with the
etag being the same for compressed/uncompressed content.

Users that wish to send etags AND compress will have to
do it manually for the time being.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the cowboy_compress_h stream handler.

Otherwise this could cause issues with caching, with the
etag being the same for compressed/uncompressed content.

Users that wish to send etags AND compress will have to
do it manually for the time being.
</pre>
</div>
</content>
</entry>
</feed>
