Support ws mqtt any version

This commit is contained in:
turtled 2018-08-29 10:00:41 +08:00
parent 013a5a9c7c
commit 00cb26c4e0
1 changed files with 5 additions and 8 deletions

View File

@ -87,14 +87,11 @@ init(Req, Opts) ->
case cowboy_req:parse_header(<<"sec-websocket-protocol">>, Req) of case cowboy_req:parse_header(<<"sec-websocket-protocol">>, Req) of
undefined -> undefined ->
{cowboy_websocket, Req, #state{}}; {cowboy_websocket, Req, #state{}};
Subprotocols -> [<<"mqtt", Vsn/binary>>] ->
case lists:member(<<"mqtt">>, Subprotocols) of Resp = cowboy_req:set_resp_header(<<"sec-websocket-protocol">>, <<"mqtt", Vsn/binary>>, Req),
true -> {cowboy_websocket, Resp, #state{request = Req, options = Opts}, #{idle_timeout => 86400000}};
Resp = cowboy_req:set_resp_header(<<"sec-websocket-protocol">>, <<"mqtt">>, Req), R ->
{cowboy_websocket, Resp, #state{request = Req, options = Opts}, #{idle_timeout => 86400000}}; {ok, cowboy_req:reply(400, Req), #state{}}
false ->
{ok, cowboy_req:reply(400, Req), #state{}}
end
end. end.
websocket_init(#state{request = Req, options = Options}) -> websocket_init(#state{request = Req, options = Options}) ->