From 8363e8995ad0b4f21b2a194c235ae7b92462af2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 21 May 2012 08:49:22 +0200 Subject: Small updates to the ROADMAP and doc comments --- ROADMAP.md | 40 ++-------------------------------------- src/cowboy.erl | 1 - test/http_SUITE.erl | 4 ++-- 3 files changed, 4 insertions(+), 41 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index a261caf..3daacb1 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -61,56 +61,20 @@ are not ordered. Tools like curl expect a 100 Continue before sending a request body by default. -* Content-Encoding support. - - Cowboy should be able to send encoded content automatically. - The default should be to encode, but the developer must be - able to override this default either for the whole listener - or just for a single reply. - -* Improve body reading API. - - We want to have various different things for reading the - body. First, there should be raw functions for the different - ways to read the body: basic, transfer encoded, multipart. - Each should allow us to limit the size of what is read. - - On top of these functions there should be two more - advanced functions: one would return the result of parsing - a x-www-form-urlencoded body; the other would parse a - multipart request, save files from the multipart data to - a temporary location and return a proplist of values if any - along with the files details. This behavior is similar to - what is done automatically by PHP with its $_FILES array. - - The advanced functions are of course here for convenience - only and it should be trivial to reimplement them directly - in a Cowboy application if needed. +* Convert the multipart code to stream_body. * Complete the work on Websockets. Now that the Autobahn test suite is available (make inttests), we have a definite way to know whether Cowboy's implementation of Websockets is right. The work can thus be completed. The - remaining tasks are proper UTF8 handling and fragmentation. + remaining tasks are proper UTF8 handling. * SPDY support. While SPDY probably won't be added directly to Cowboy, work has been started on making Cowboy use SPDY. -* Hooks. - - Customizable hooks would allow the developer to extend Cowboy - easily. Two kinds of hooks are needed: before dispatching the - request, and before sending a reply. - - The first would allow us to apply site-wide functions like - authentication or request logging and modify the Req if needed. - - The second is more interesting for response logging or to - filter the replies, for example to send custom error pages. - * Transport upgrades. Some protocols allow an upgrade from TCP to SSL without diff --git a/src/cowboy.erl b/src/cowboy.erl index 7963df2..1097197 100644 --- a/src/cowboy.erl +++ b/src/cowboy.erl @@ -51,7 +51,6 @@ start_listener(Ref, NbAcceptors, Transport, TransOpts, Protocol, ProtoOpts) Transport, TransOpts, Protocol, ProtoOpts)). %% @doc Stop a listener identified by Ref. -%% @todo Currently request processes aren't terminated with the listener. -spec stop_listener(any()) -> ok | {error, not_found}. stop_listener(Ref) -> case supervisor:terminate_child(cowboy_sup, {cowboy_listener_sup, Ref}) of diff --git a/test/http_SUITE.erl b/test/http_SUITE.erl index 97caafe..029219a 100644 --- a/test/http_SUITE.erl +++ b/test/http_SUITE.erl @@ -134,7 +134,7 @@ init_per_group(http, Config) -> Port = 33080, Transport = cowboy_tcp_transport, Config1 = init_static_dir(Config), - cowboy:start_listener(http, 100, + {ok, _} = cowboy:start_listener(http, 100, Transport, [{port, Port}], cowboy_http_protocol, [ {dispatch, init_dispatch(Config1)}, @@ -156,7 +156,7 @@ init_per_group(https, Config) -> application:start(crypto), application:start(public_key), application:start(ssl), - {ok,_} = cowboy:start_listener(https, 100, + {ok, _} = cowboy:start_listener(https, 100, Transport, Opts ++ [{port, Port}], cowboy_http_protocol, [ {dispatch, init_dispatch(Config1)}, -- cgit v1.2.3