From 62ddd55e43ee3619395a3052409f6743e9b1eeb9 Mon Sep 17 00:00:00 2001 From: Jesse Gumm Date: Thu, 30 Oct 2014 10:06:35 -0500 Subject: [PATCH] Update inets bridge to close properly /w ws hijack --- src/inets_bridge_modules/inets_simple_bridge_anchor.erl | 3 +-- src/simple_bridge_websocket.erl | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/inets_bridge_modules/inets_simple_bridge_anchor.erl b/src/inets_bridge_modules/inets_simple_bridge_anchor.erl index 1f9c9d3..fac7954 100644 --- a/src/inets_bridge_modules/inets_simple_bridge_anchor.erl +++ b/src/inets_bridge_modules/inets_simple_bridge_anchor.erl @@ -12,8 +12,7 @@ do(Req) -> Handler = simple_bridge_util:get_env(handler), case simple_bridge_websocket:attempt_hijacking(Bridge, Handler) of {hijacked, closed} -> - gen_tcp:close(Bridge:socket()), - exit(normal); + done; {hijacked, Bridge2} -> Bridge2:build_response(); spared -> diff --git a/src/simple_bridge_websocket.erl b/src/simple_bridge_websocket.erl index 2fcc037..2f4c83b 100644 --- a/src/simple_bridge_websocket.erl +++ b/src/simple_bridge_websocket.erl @@ -14,7 +14,7 @@ ]). %-compile(export_all). - +-include("simple_bridge.hrl"). -include("crypto_compat.hrl"). -define(else, true). @@ -48,6 +48,7 @@ -record(frame, {fin=1, rsv=0, opcode, masked=0, payload_len=0, mask_key, data = <<>>}). -record(partial_data, {data = <<>>, message_frames=[]}). +-spec attempt_hijacking(bridge(), Handler :: atom()) -> spared | {hijacked, closed} | {hijacked, bridge()}. attempt_hijacking(Bridge, Handler) -> ProtocolVersion = sbw:protocol_version(Bridge), UpgradeHeader = sbw:header_lower(upgrade, Bridge),