|
@@ -3,58 +3,39 @@ ROADMAP
|
|
|
|
|
|
This document explains in as much details as possible the
|
|
|
list of planned changes and work to be done on the Cowboy
|
|
|
-server. It is non-exhaustive and subject to change. Items
|
|
|
-are not ordered.
|
|
|
+server. It is intended to be exhaustive but some elements
|
|
|
+might still be missing.
|
|
|
|
|
|
- * Add and improve examples
|
|
|
+All the following items must be done before Cowboy 1.0 is
|
|
|
+released.
|
|
|
|
|
|
- * Improve user guide
|
|
|
+ * Parse support for all standard HTTP/1.1 headers
|
|
|
|
|
|
- We need feedback to improve the guide.
|
|
|
+ * Support for multipart requests and responses
|
|
|
|
|
|
- * Add and improve tests
|
|
|
+ * Convenience API for extracting query string and body
|
|
|
+ information, similar to PHP's $_GET, $_POST and $_FILES
|
|
|
|
|
|
- Amongst the areas less tested there is protocol upgrades
|
|
|
- and the REST handler.
|
|
|
+ * Add Range support to REST
|
|
|
|
|
|
- While eunit and ct tests are fine, some parts of the
|
|
|
- code could benefit from PropEr tests.
|
|
|
-
|
|
|
- * Continuous performance testing
|
|
|
-
|
|
|
- Initially dubbed the Horse project, Cowboy could benefit
|
|
|
- from a continuous performance testing tool that would
|
|
|
- allow us to easily compare the impact of the changes we
|
|
|
- are introducing, similar to what the Phoronix test suite
|
|
|
- allows.
|
|
|
-
|
|
|
- Depending on the test it may be interesting to compare
|
|
|
- Cowboy to other servers and eventually take ideas from
|
|
|
- the servers that outperform Cowboy for the task being tested.
|
|
|
-
|
|
|
- * Full HTTP/1.1 support
|
|
|
-
|
|
|
- * Improved HTTP/1.0 support
|
|
|
-
|
|
|
- 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
|
|
|
- Cowboy. The server code should be reviewed and tested
|
|
|
- to ensure compatibility with remaining HTTP/1.0 products.
|
|
|
+ * SPDY support
|
|
|
|
|
|
- * Continue improving the REST API
|
|
|
+ We are only interested in supporting existing
|
|
|
+ implementations, not the full protocol, as this
|
|
|
+ protocol has been abandoned in favor of HTTP/2.0
|
|
|
|
|
|
- * SPDY support
|
|
|
+ * Complete the user guide
|
|
|
|
|
|
-The following items pertain to Ranch.
|
|
|
+The following items pertain to Ranch, but are equally important.
|
|
|
|
|
|
* Resizing the acceptor pool
|
|
|
|
|
|
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
|
|
|
|
|
|
* Add Transport:secure/0
|
|
|
|
|
|
Currently Cowboy checks if a connection is secure by
|
|
|
checking if its name is 'ssl'. This isn't a very modular
|
|
|
solution, adding an API function that returns whether
|
|
|
- a connection is secure would fix that issue.
|
|
|
+ a connection is secure would fix that issue
|