<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cowboy.git/src, branch 2.8.0</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>204 and 304 responses must not include a body</title>
<updated>2020-05-20T11:41:05+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2020-05-20T11:41:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=39b2816255503910dc23e2fdf703ee63bbc8953e'/>
<id>39b2816255503910dc23e2fdf703ee63bbc8953e</id>
<content type='text'>
When calling cowboy_req:reply/4 with a body a crash will occur
resulting in a 500 response. When calling cowboy_req:stream_reply/2,3
and then attempting to send a body a crash will occur.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When calling cowboy_req:reply/4 with a body a crash will occur
resulting in a 500 response. When calling cowboy_req:stream_reply/2,3
and then attempting to send a body a crash will occur.
</pre>
</div>
</content>
</entry>
<entry>
<title>Increase the default max_keepalive HTTP option to 1000</title>
<updated>2020-05-20T09:08:58+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2020-05-20T09:08:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=8337aca4d31ffa8120704057675aacbbaa280975'/>
<id>8337aca4d31ffa8120704057675aacbbaa280975</id>
<content type='text'>
100 is very low for current deployments. 1000 is more
appropriate as a default value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
100 is very low for current deployments. 1000 is more
appropriate as a default value.
</pre>
</div>
</content>
</entry>
<entry>
<title>Experiment with a linger_timeout for HTTP/2</title>
<updated>2020-04-06T12:50:35+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2020-04-06T12:50:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=775091134dc49633595cfc5956612df0c5702c0f'/>
<id>775091134dc49633595cfc5956612df0c5702c0f</id>
<content type='text'>
This is mostly to ensure that the GOAWAY frame is properly
received on Windows in some tests, but should be benefitial
also in production in particular when clients are slower.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is mostly to ensure that the GOAWAY frame is properly
received on Windows in some tests, but should be benefitial
also in production in particular when clients are slower.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix active mode and flow control during pipelining</title>
<updated>2020-04-04T18:15:23+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2020-04-04T18:15:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=4ab69f402e38f77b7612ecf30f3defe9c6a76d24'/>
<id>4ab69f402e38f77b7612ecf30f3defe9c6a76d24</id>
<content type='text'>
We could get stuck in passive mode under certain conditions
(fast and non-busy machine and perhaps other environment factors).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We could get stuck in passive mode under certain conditions
(fast and non-busy machine and perhaps other environment factors).
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix h2spec "invalid preface sequence" test</title>
<updated>2020-04-01T16:02:59+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2020-04-01T16:02:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=a8a26897274c798cb95d3a2e9e8da1215c2da78a'/>
<id>a8a26897274c798cb95d3a2e9e8da1215c2da78a</id>
<content type='text'>
Introduce a currently undocumented option to allow disabling
cowboy_http when using a clear listener.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce a currently undocumented option to allow disabling
cowboy_http when using a clear listener.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add more headers to cowboy_req:parse_header/2,3</title>
<updated>2020-03-30T13:02:35+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2020-03-30T12:54:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=0fc33c53001e577f52377c520ec8199b9a0682f2'/>
<id>0fc33c53001e577f52377c520ec8199b9a0682f2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add more router tests</title>
<updated>2020-03-29T13:44:47+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2020-03-29T13:44:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=70e43ec11213e2e8f43f0ec4e407ea3dc7120fe1'/>
<id>70e43ec11213e2e8f43f0ec4e407ea3dc7120fe1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Increase the default max_received_frame_rate</title>
<updated>2020-03-29T11:51:21+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2020-03-29T11:51:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=6ad842a742915066d319f307a0f60cd8df15598b'/>
<id>6ad842a742915066d319f307a0f60cd8df15598b</id>
<content type='text'>
Allow 10000 frames every 10 seconds instead of just 1000,
as the limit was too quickly reached in some deployments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow 10000 frames every 10 seconds instead of just 1000,
as the limit was too quickly reached in some deployments.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix HTTP/1.1 bug when a flow command is returned after fin</title>
<updated>2020-02-07T10:32:15+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2020-02-07T10:32:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=8fc3da2fc31a04281b0ba8dc0cdc1e1650067da5'/>
<id>8fc3da2fc31a04281b0ba8dc0cdc1e1650067da5</id>
<content type='text'>
This resulted in a badarith error due to the current flow being
set to infinity when the body has been fully read. A test case
has been added reproducing the issue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This resulted in a badarith error due to the current flow being
set to infinity when the body has been fully read. A test case
has been added reproducing the issue.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix bugs related to HTTP/1.1 pipelining</title>
<updated>2020-01-17T10:42:28+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2020-01-16T16:33:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=752297b1539b4f74c9329c873f78485a52b5b8bd'/>
<id>752297b1539b4f74c9329c873f78485a52b5b8bd</id>
<content type='text'>
The flow control is now only set to infinity when we are
skipping the request body of the stream that is being
terminated. This fixes a bug where it was set to infinity
while reading a subsequent request's body, leading to a
crash.

The timeout is no longer reset on stream termination.
Timeout handling is already done when receiving data
from the socket and doing a reset on stream termination
was leading to the wrong timeout being set or the right
timeout being reset needlessly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The flow control is now only set to infinity when we are
skipping the request body of the stream that is being
terminated. This fixes a bug where it was set to infinity
while reading a subsequent request's body, leading to a
crash.

The timeout is no longer reset on stream termination.
Timeout handling is already done when receiving data
from the socket and doing a reset on stream termination
was leading to the wrong timeout being set or the right
timeout being reset needlessly.
</pre>
</div>
</content>
</entry>
</feed>
