mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-16 13:10:24 +00:00
Fix the flushing of messages when switching to Websocket
We now flush messages that are specific to cowboy_http only. Stream handlers should also flush their own specific messages if necessary, although timeouts will be flushed regardless of where they originate from. Also renames the http_SUITE to old_http_SUITE to distinguish new tests from old tests. Most old tests need to be removed or converted eventually as they're legacy tests from Cowboy 1.0.
This commit is contained in:
parent
4d5174632c
commit
5964273cc4
24 changed files with 883 additions and 777 deletions
38
test/old_http_SUITE_data/rest_patch_resource.erl
Normal file
38
test/old_http_SUITE_data/rest_patch_resource.erl
Normal file
|
@ -0,0 +1,38 @@
|
|||
-module(rest_patch_resource).
|
||||
|
||||
-export([init/2]).
|
||||
-export([allowed_methods/2]).
|
||||
-export([content_types_provided/2]).
|
||||
-export([get_text_plain/2]).
|
||||
-export([content_types_accepted/2]).
|
||||
-export([patch_text_plain/2]).
|
||||
|
||||
init(Req, Opts) ->
|
||||
{cowboy_rest, Req, Opts}.
|
||||
|
||||
allowed_methods(Req, State) ->
|
||||
{[<<"HEAD">>, <<"GET">>, <<"PATCH">>], Req, State}.
|
||||
|
||||
content_types_provided(Req, State) ->
|
||||
{[{{<<"text">>, <<"plain">>, []}, get_text_plain}], Req, State}.
|
||||
|
||||
get_text_plain(Req, State) ->
|
||||
{<<"This is REST!">>, Req, State}.
|
||||
|
||||
content_types_accepted(Req, State) ->
|
||||
case cowboy_req:method(Req) of
|
||||
<<"PATCH">> ->
|
||||
{[{{<<"text">>, <<"plain">>, []}, patch_text_plain}], Req, State};
|
||||
_ ->
|
||||
{[], Req, State}
|
||||
end.
|
||||
|
||||
patch_text_plain(Req, State) ->
|
||||
case cowboy_req:read_body(Req) of
|
||||
{ok, <<"stop">>, Req0} ->
|
||||
{stop, cowboy_req:reply(400, Req0), State};
|
||||
{ok, <<"false">>, Req0} ->
|
||||
{false, Req0, State};
|
||||
{ok, _Body, Req0} ->
|
||||
{true, Req0, State}
|
||||
end.
|
Loading…
Add table
Add a link
Reference in a new issue