From d1b65a67cf093160c383071ef1bb40b0fc096d88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Fri, 12 Aug 2016 19:27:23 +0200 Subject: Remove Req from the Websocket interface After the switch to Websocket, we are no longer in a request/response scenario, therefore a lot of the cowboy_req functions do not apply anymore. Any data required from the request will need to be taken from Req in init/2 and saved in the handler's state. --- test/ws_SUITE_data/ws_echo.erl | 20 +++++++++---------- test/ws_SUITE_data/ws_echo_timer.erl | 30 ++++++++++++++--------------- test/ws_SUITE_data/ws_send_many.erl | 18 ++++++++--------- test/ws_SUITE_data/ws_subprotocol.erl | 12 ++++++------ test/ws_SUITE_data/ws_timeout_cancel.erl | 16 +++++++-------- test/ws_SUITE_data/ws_timeout_hibernate.erl | 12 ++++++------ 6 files changed, 54 insertions(+), 54 deletions(-) (limited to 'test') diff --git a/test/ws_SUITE_data/ws_echo.erl b/test/ws_SUITE_data/ws_echo.erl index 89ebcb6..4b832df 100644 --- a/test/ws_SUITE_data/ws_echo.erl +++ b/test/ws_SUITE_data/ws_echo.erl @@ -3,18 +3,18 @@ -module(ws_echo). -export([init/2]). --export([websocket_handle/3]). --export([websocket_info/3]). +-export([websocket_handle/2]). +-export([websocket_info/2]). init(Req, _) -> {cowboy_websocket, Req, undefined}. -websocket_handle({text, Data}, Req, State) -> - {reply, {text, Data}, Req, State}; -websocket_handle({binary, Data}, Req, State) -> - {reply, {binary, Data}, Req, State}; -websocket_handle(_Frame, Req, State) -> - {ok, Req, State}. +websocket_handle({text, Data}, State) -> + {reply, {text, Data}, State}; +websocket_handle({binary, Data}, State) -> + {reply, {binary, Data}, State}; +websocket_handle(_Frame, State) -> + {ok, State}. -websocket_info(_Info, Req, State) -> - {ok, Req, State}. +websocket_info(_Info, State) -> + {ok, State}. diff --git a/test/ws_SUITE_data/ws_echo_timer.erl b/test/ws_SUITE_data/ws_echo_timer.erl index 9761e1f..7f37229 100644 --- a/test/ws_SUITE_data/ws_echo_timer.erl +++ b/test/ws_SUITE_data/ws_echo_timer.erl @@ -3,26 +3,26 @@ -module(ws_echo_timer). -export([init/2]). --export([websocket_init/2]). --export([websocket_handle/3]). --export([websocket_info/3]). +-export([websocket_init/1]). +-export([websocket_handle/2]). +-export([websocket_info/2]). init(Req, _) -> {cowboy_websocket, Req, undefined}. -websocket_init(Req, State) -> +websocket_init(State) -> erlang:start_timer(1000, self(), <<"websocket_init">>), - {ok, Req, State}. + {ok, State}. -websocket_handle({text, Data}, Req, State) -> - {reply, {text, Data}, Req, State}; -websocket_handle({binary, Data}, Req, State) -> - {reply, {binary, Data}, Req, State}; -websocket_handle(_Frame, Req, State) -> - {ok, Req, State}. +websocket_handle({text, Data}, State) -> + {reply, {text, Data}, State}; +websocket_handle({binary, Data}, State) -> + {reply, {binary, Data}, State}; +websocket_handle(_Frame, State) -> + {ok, State}. -websocket_info({timeout, _Ref, Msg}, Req, State) -> +websocket_info({timeout, _Ref, Msg}, State) -> erlang:start_timer(1000, self(), <<"websocket_handle">>), - {reply, {text, Msg}, Req, State}; -websocket_info(_Info, Req, State) -> - {ok, Req, State}. + {reply, {text, Msg}, State}; +websocket_info(_Info, State) -> + {ok, State}. diff --git a/test/ws_SUITE_data/ws_send_many.erl b/test/ws_SUITE_data/ws_send_many.erl index 9cee75e..d621a3d 100644 --- a/test/ws_SUITE_data/ws_send_many.erl +++ b/test/ws_SUITE_data/ws_send_many.erl @@ -3,19 +3,19 @@ -module(ws_send_many). -export([init/2]). --export([websocket_init/2]). --export([websocket_handle/3]). --export([websocket_info/3]). +-export([websocket_init/1]). +-export([websocket_handle/2]). +-export([websocket_info/2]). init(Req, Opts) -> {cowboy_websocket, Req, Opts}. -websocket_init(Req, State) -> +websocket_init(State) -> erlang:send_after(10, self(), send_many), - {ok, Req, State}. + {ok, State}. -websocket_handle(_Frame, Req, State) -> - {ok, Req, State}. +websocket_handle(_Frame, State) -> + {ok, State}. -websocket_info(send_many, Req, State = [{sequence, Sequence}]) -> - {reply, Sequence, Req, State}. +websocket_info(send_many, State = [{sequence, Sequence}]) -> + {reply, Sequence, State}. diff --git a/test/ws_SUITE_data/ws_subprotocol.erl b/test/ws_SUITE_data/ws_subprotocol.erl index a042dd2..3079bc6 100644 --- a/test/ws_SUITE_data/ws_subprotocol.erl +++ b/test/ws_SUITE_data/ws_subprotocol.erl @@ -3,16 +3,16 @@ -module(ws_subprotocol). -export([init/2]). --export([websocket_handle/3]). --export([websocket_info/3]). +-export([websocket_handle/2]). +-export([websocket_info/2]). init(Req, Opts) -> [Protocol | _] = cowboy_req:parse_header(<<"sec-websocket-protocol">>, Req), Req2 = cowboy_req:set_resp_header(<<"sec-websocket-protocol">>, Protocol, Req), {cowboy_websocket, Req2, Opts, 1000}. -websocket_handle(_Frame, Req, State) -> - {ok, Req, State}. +websocket_handle(_Frame, State) -> + {ok, State}. -websocket_info(_Info, Req, State) -> - {ok, Req, State}. +websocket_info(_Info, State) -> + {ok, State}. diff --git a/test/ws_SUITE_data/ws_timeout_cancel.erl b/test/ws_SUITE_data/ws_timeout_cancel.erl index 7376140..8883d2f 100644 --- a/test/ws_SUITE_data/ws_timeout_cancel.erl +++ b/test/ws_SUITE_data/ws_timeout_cancel.erl @@ -3,18 +3,18 @@ -module(ws_timeout_cancel). -export([init/2]). --export([websocket_handle/3]). --export([websocket_info/3]). +-export([websocket_handle/2]). +-export([websocket_info/2]). init(Req, _) -> erlang:start_timer(500, self(), should_not_cancel_timer), {cowboy_websocket, Req, undefined, 1000}. -websocket_handle({text, Data}, Req, State) -> - {reply, {text, Data}, Req, State}; -websocket_handle({binary, Data}, Req, State) -> - {reply, {binary, Data}, Req, State}. +websocket_handle({text, Data}, State) -> + {reply, {text, Data}, State}; +websocket_handle({binary, Data}, State) -> + {reply, {binary, Data}, State}. -websocket_info(_Info, Req, State) -> +websocket_info(_Info, State) -> erlang:start_timer(500, self(), should_not_cancel_timer), - {ok, Req, State}. + {ok, State}. diff --git a/test/ws_SUITE_data/ws_timeout_hibernate.erl b/test/ws_SUITE_data/ws_timeout_hibernate.erl index 15cde66..b9646ac 100644 --- a/test/ws_SUITE_data/ws_timeout_hibernate.erl +++ b/test/ws_SUITE_data/ws_timeout_hibernate.erl @@ -3,14 +3,14 @@ -module(ws_timeout_hibernate). -export([init/2]). --export([websocket_handle/3]). --export([websocket_info/3]). +-export([websocket_handle/2]). +-export([websocket_info/2]). init(Req, _) -> {cowboy_websocket, Req, undefined, 1000, hibernate}. -websocket_handle(_Frame, Req, State) -> - {ok, Req, State, hibernate}. +websocket_handle(_Frame, State) -> + {ok, State, hibernate}. -websocket_info(_Info, Req, State) -> - {ok, Req, State, hibernate}. +websocket_info(_Info, State) -> + {ok, State, hibernate}. -- cgit v1.2.3