diff --git a/Libraries/WebSocket/RCTWebSocketModule.m b/Libraries/WebSocket/RCTWebSocketModule.m index 0150cd59582..c0426e947d5 100644 --- a/Libraries/WebSocket/RCTWebSocketModule.m +++ b/Libraries/WebSocket/RCTWebSocketModule.m @@ -155,7 +155,8 @@ RCT_EXPORT_METHOD(close:(NSInteger)code reason:(NSString *)reason socketID:(nonn - (void)webSocketDidOpen:(RCTSRWebSocket *)webSocket { [self sendEventWithName:@"websocketOpen" body:@{ - @"id": webSocket.reactTag + @"id": webSocket.reactTag, + @"protocol": webSocket.protocol ? webSocket.protocol : @"" }]; } diff --git a/Libraries/WebSocket/WebSocket.js b/Libraries/WebSocket/WebSocket.js index 47d56c7eecd..ccca07c77f2 100644 --- a/Libraries/WebSocket/WebSocket.js +++ b/Libraries/WebSocket/WebSocket.js @@ -237,6 +237,7 @@ class WebSocket extends EventTarget(...WEBSOCKET_EVENTS) { return; } this.readyState = this.OPEN; + this.protocol = ev.protocol; this.dispatchEvent(new WebSocketEvent('open')); }), this._eventEmitter.addListener('websocketClosed', ev => { diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java index c2c4021ed3c..7c776cadef6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java @@ -144,6 +144,7 @@ public final class WebSocketModule extends ReactContextBaseJavaModule { mWebSocketConnections.put(id, webSocket); WritableMap params = Arguments.createMap(); params.putInt("id", id); + params.putString("protocol", response.header("Sec-WebSocket-Protocol", "")); sendEvent("websocketOpen", params); }