mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
Update roadmap
This commit is contained in:
parent
5d8c29ff0f
commit
fd8ec6aaf3
1 changed files with 12 additions and 50 deletions
62
ROADMAP.md
62
ROADMAP.md
|
@ -6,38 +6,21 @@ list of planned changes and work to be done on the Cowboy
|
||||||
server. It is non-exhaustive and subject to change. Items
|
server. It is non-exhaustive and subject to change. Items
|
||||||
are not ordered.
|
are not ordered.
|
||||||
|
|
||||||
* Write more, better examples.
|
* Add and improve examples
|
||||||
|
|
||||||
The first step would be to port misultin's examples
|
* Improve user guide
|
||||||
to Cowboy. Then these examples could be completed with
|
|
||||||
examples for Cowboy specific features.
|
|
||||||
|
|
||||||
The extend/cowboy_examples is to be used for this. As
|
We need feedback to improve the guide.
|
||||||
it is a separate repository, we can organize the file
|
|
||||||
structure as appropriate. Ideally we would have one
|
|
||||||
complete example per folder.
|
|
||||||
|
|
||||||
Examples should be commented. They may or may not be
|
* Add and improve tests
|
||||||
used for writing the user guides.
|
|
||||||
|
|
||||||
* Write user guides.
|
|
||||||
|
|
||||||
We currently have good API documentation, but no step
|
|
||||||
by step user guides.
|
|
||||||
|
|
||||||
* Write more, better tests.
|
|
||||||
|
|
||||||
Amongst the areas less tested there is protocol upgrades
|
Amongst the areas less tested there is protocol upgrades
|
||||||
and the REST handler.
|
and the REST handler.
|
||||||
|
|
||||||
Current tests should be completed with unit tests
|
|
||||||
where applicable. We should probably also test the
|
|
||||||
dependencies used, like erlang:decode_packet/3.
|
|
||||||
|
|
||||||
While eunit and ct tests are fine, some parts of the
|
While eunit and ct tests are fine, some parts of the
|
||||||
code could benefit from PropEr tests.
|
code could benefit from PropEr tests.
|
||||||
|
|
||||||
* Continuous performance testing.
|
* Continuous performance testing
|
||||||
|
|
||||||
Initially dubbed the Horse project, Cowboy could benefit
|
Initially dubbed the Horse project, Cowboy could benefit
|
||||||
from a continuous performance testing tool that would
|
from a continuous performance testing tool that would
|
||||||
|
@ -49,46 +32,25 @@ are not ordered.
|
||||||
Cowboy to other servers and eventually take ideas from
|
Cowboy to other servers and eventually take ideas from
|
||||||
the servers that outperform Cowboy for the task being tested.
|
the servers that outperform Cowboy for the task being tested.
|
||||||
|
|
||||||
* Improve HTTP/1.0 support.
|
* Full HTTP/1.1 support
|
||||||
|
|
||||||
|
* Improved HTTP/1.0 support
|
||||||
|
|
||||||
Most of the work on Cowboy has been done with HTTP/1.1
|
Most of the work on Cowboy has been done with HTTP/1.1
|
||||||
in mind. But there is still a need for HTTP/1.0 code in
|
in mind. But there is still a need for HTTP/1.0 code in
|
||||||
Cowboy. The server code should be reviewed and tested
|
Cowboy. The server code should be reviewed and tested
|
||||||
to ensure compatibility with remaining HTTP/1.0 products.
|
to ensure compatibility with remaining HTTP/1.0 products.
|
||||||
|
|
||||||
* Complete the work on Websockets.
|
* SPDY support
|
||||||
|
|
||||||
Now that the Autobahn test suite is available (make inttests),
|
The following items pertain to Ranch.
|
||||||
we have a definite way to know whether Cowboy's implementation
|
|
||||||
of Websockets is right. The work can thus be completed. The
|
|
||||||
remaining task is proper UTF8 handling.
|
|
||||||
|
|
||||||
* SPDY support.
|
* Resizing the acceptor pool
|
||||||
|
|
||||||
While SPDY probably won't be added directly to Cowboy, work
|
|
||||||
has been started on making Cowboy use SPDY.
|
|
||||||
|
|
||||||
* Transport upgrades.
|
|
||||||
|
|
||||||
Some protocols allow an upgrade from TCP to SSL without
|
|
||||||
closing the connection. This is currently not possible
|
|
||||||
through the Cowboy API.
|
|
||||||
|
|
||||||
* Resizing the acceptor pool.
|
|
||||||
|
|
||||||
We should be able to add more acceptors to a pool but also
|
We should be able to add more acceptors to a pool but also
|
||||||
to remove some of them as needed.
|
to remove some of them as needed.
|
||||||
|
|
||||||
* Simplified dispatch list.
|
* Add Transport:secure/0
|
||||||
|
|
||||||
For convenience purposes, the dispatch list should allow
|
|
||||||
lists instead of binaries. The lists can be converted to
|
|
||||||
binary by Cowboy at listener initialization.
|
|
||||||
|
|
||||||
There has also been discussion on allowing the dispatch
|
|
||||||
list to be hierarchical.
|
|
||||||
|
|
||||||
* Add Transport:secure/0.
|
|
||||||
|
|
||||||
Currently Cowboy checks if a connection is secure by
|
Currently Cowboy checks if a connection is secure by
|
||||||
checking if its name is 'ssl'. This isn't a very modular
|
checking if its name is 'ssl'. This isn't a very modular
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue