aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_websocket.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_websocket.erl')
-rw-r--r--src/ejabberd_websocket.erl16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/ejabberd_websocket.erl b/src/ejabberd_websocket.erl
index 9d5f32c33..0cdd9bac5 100644
--- a/src/ejabberd_websocket.erl
+++ b/src/ejabberd_websocket.erl
@@ -33,11 +33,13 @@
%%% NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
%%% POSSIBILITY OF SUCH DAMAGE.
%%% ==========================================================================================================
-%%% ejabberd, Copyright (C) 2002-2015 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2016 ProcessOne
%%%----------------------------------------------------------------------
-module(ejabberd_websocket).
+-protocol({rfc, 6455}).
+
-author('ecestari@process-one.net').
-export([check/2, socket_handoff/8]).
@@ -86,7 +88,8 @@ check(_Path, Headers) ->
end.
socket_handoff(LocalPath, #request{method = 'GET', ip = IP, q = Q, path = Path,
- headers = Headers, host = Host, port = Port},
+ headers = Headers, host = Host, port = Port,
+ opts = HOpts},
Socket, SockMod, Buf, _Opts, HandlerModule, InfoMsgFun) ->
case check(LocalPath, Headers) of
true ->
@@ -99,7 +102,8 @@ socket_handoff(LocalPath, #request{method = 'GET', ip = IP, q = Q, path = Path,
path = Path,
headers = Headers,
local_path = LocalPath,
- buf = Buf},
+ buf = Buf,
+ http_opts = HOpts},
connect(WS, HandlerModule);
_ ->
@@ -369,10 +373,10 @@ process_frame(#frame_info{unprocessed =
process_frame(FrameInfo#frame_info{unprocessed = <<>>},
<<UnprocessedPre/binary, Data/binary>>).
-handle_data(tcp, FrameInfo, Data, Socket, WsHandleLoopPid, p1_tls) ->
- case p1_tls:recv_data(Socket, Data) of
+handle_data(tcp, FrameInfo, Data, Socket, WsHandleLoopPid, fast_tls) ->
+ case fast_tls:recv_data(Socket, Data) of
{ok, NewData} ->
- handle_data_int(FrameInfo, NewData, Socket, WsHandleLoopPid, p1_tls);
+ handle_data_int(FrameInfo, NewData, Socket, WsHandleLoopPid, fast_tls);
{error, Error} ->
{error, Error}
end;