<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cowboy.git/test/http_SUITE_data, branch 2.2.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>Fix HTTP/1.1 pipelining</title>
<updated>2017-12-12T10:37:48+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2017-12-12T10:37:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=eafca21198b08dfa356cb9b1ec87f80375a2af23'/>
<id>eafca21198b08dfa356cb9b1ec87f80375a2af23</id>
<content type='text'>
Cases where a request body was involved could sometimes
fail depending on timing. Also fix all of the old
http_SUITE tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cases where a request body was involved could sometimes
fail depending on timing. Also fix all of the old
http_SUITE tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove duplicate /echo/body_qs tests from the old suite</title>
<updated>2017-11-17T23:19:01+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2017-11-17T23:19:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=185d928e1a9d43932a891f68d7f4063bd71febc9'/>
<id>185d928e1a9d43932a891f68d7f4063bd71febc9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the remaining http_SUITE test cases</title>
<updated>2017-07-14T17:09:42+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2017-07-14T17:09:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=7d9f6611ae5f935749d3a3b61179e93c5c301838'/>
<id>7d9f6611ae5f935749d3a3b61179e93c5c301838</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a few of the older tests</title>
<updated>2017-07-12T17:40:52+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2017-07-12T17:40:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=ddb0c4f3b6385ee2ef85d237498e3450bec9169b'/>
<id>ddb0c4f3b6385ee2ef85d237498e3450bec9169b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove tests for set_resp_body with a stream fun</title>
<updated>2017-07-12T17:25:56+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2017-07-12T17:25:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=cf4d8166f80007fc665972daf724ce7ee9ba71c6'/>
<id>cf4d8166f80007fc665972daf724ce7ee9ba71c6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove any mention of the waiting_stream hack</title>
<updated>2017-07-12T16:55:09+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2017-07-12T16:55:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=3c185859451c2d94051c7c7d26d23a6f210eb579'/>
<id>3c185859451c2d94051c7c7d26d23a6f210eb579</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove outdated multipart tests</title>
<updated>2017-06-28T11:07:44+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2017-06-28T11:07:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=3eb7693e4fd7e1172b55b30ab25c5656040d1fd2'/>
<id>3eb7693e4fd7e1172b55b30ab25c5656040d1fd2</id>
<content type='text'>
They have equivalents in req_SUITE.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
They have equivalents in req_SUITE.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change the order of set_resp_cookie arguments</title>
<updated>2017-02-19T08:46:11+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2017-02-19T08:46:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=91ae70b06c9cc486ea2c2cf91b94de799ceb53b2'/>
<id>91ae70b06c9cc486ea2c2cf91b94de799ceb53b2</id>
<content type='text'>
The Opts value is put last, to be more consistent with the
rest of the cowboy_req module.

Additionally a test handler was fixed which reduced the number
of errors in http_SUITE.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Opts value is put last, to be more consistent with the
rest of the cowboy_req module.

Additionally a test handler was fixed which reduced the number
of errors in http_SUITE.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow passing options to sub protocols</title>
<updated>2017-02-18T17:26:20+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2017-02-18T17:26:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=a45813c60f0f983a24ea29d491b37f0590fdd087'/>
<id>a45813c60f0f983a24ea29d491b37f0590fdd087</id>
<content type='text'>
Before this commit we had an issue where configuring a
Websocket connection was simply not possible without
doing magic, adding callbacks or extra return values.
The init/2 function only allowed setting hibernate
and timeout options.

After this commit, when switching to a different
type of handler you can either return

  {module, Req, State}

or

  {module, Req, State, Opts}

where Opts is any value (as far as the sub protocol
interface is concerned) and is ultimately checked
by the custom handlers.

A large protocol like Websocket would accept only
a map there, with many different options, while a
small interface like loop handlers would allow
passing hibernate and nothing else.

For Websocket, hibernate must be set from the
websocket_init/1 callback, because init/2 executes
in a separate process.

Sub protocols now have two callbacks: one with the
Opts value, one without.

The loop handler code was largely reworked and
simplified. It does not need to manage a timeout
or read from the socket anymore, it's the job of
the protocol code. A lot of unnecessary stuff was
therefore removed.

Websocket compression must now be enabled from
the handler options instead of per listener. This
means that a project can have two separate Websocket
handlers with different options. Compression is
still disabled by default, and the idle_timeout
value was changed from inifnity to 60000 (60 seconds),
as that's safer and is also a good value for mobile
devices.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before this commit we had an issue where configuring a
Websocket connection was simply not possible without
doing magic, adding callbacks or extra return values.
The init/2 function only allowed setting hibernate
and timeout options.

After this commit, when switching to a different
type of handler you can either return

  {module, Req, State}

or

  {module, Req, State, Opts}

where Opts is any value (as far as the sub protocol
interface is concerned) and is ultimately checked
by the custom handlers.

A large protocol like Websocket would accept only
a map there, with many different options, while a
small interface like loop handlers would allow
passing hibernate and nothing else.

For Websocket, hibernate must be set from the
websocket_init/1 callback, because init/2 executes
in a separate process.

Sub protocols now have two callbacks: one with the
Opts value, one without.

The loop handler code was largely reworked and
simplified. It does not need to manage a timeout
or read from the socket anymore, it's the job of
the protocol code. A lot of unnecessary stuff was
therefore removed.

Websocket compression must now be enabled from
the handler options instead of per listener. This
means that a project can have two separate Websocket
handlers with different options. Compression is
still disabled by default, and the idle_timeout
value was changed from inifnity to 60000 (60 seconds),
as that's safer and is also a good value for mobile
devices.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use binary_to_integer instead of to list and back</title>
<updated>2016-08-10T15:50:28+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2016-08-10T15:50:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/cowboy.git/commit/?id=83aa3f1b9c7aeafaed2b798f75bea929e5090ed0'/>
<id>83aa3f1b9c7aeafaed2b798f75bea929e5090ed0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
