mirror of
https://github.com/status-im/react-native.git
synced 2025-01-09 09:12:02 +00:00
66158ab2bf
Summary: This allows consumers to subclass and extend `RCTWebSocketModule` and make use of the `RCTSRWebSocketDelegate` methods. The use case here is to do some pre-processing of WebSocket data before handing it off to JS. Consumers could that in the following way: ``` interface MyWebSocketModule : RCTWebSocketModule end implementation MyWebSocketModule // Don't use RCT_EXPORT_MODULE macro for this so we replace the existing RCTWebSocketModule. + (NSString *)moduleName { return @"RCTWebSocketModule"; } RCT_EXTERN_METHOD(connect:(NSURL *)URL socketID:(nonnull NSNumber *)socketID) RCT_EXTERN_METHOD(send:(NSString *)message socketID:(nonnull NSNumber *)socketID) RCT_EXTERN_METHOD(close:(nonnull NSNumber *)socketID) - (void)webSocket:(RCTSRWebSocket *)webSocket didReceiveMessage:(id)message { [super webSocket:webSocket didReceiveMessage:[DoSomethingWith message]]; } end ``` ... and then returning a `MyWebSocketModule` ins Closes https://github.com/facebook/react-native/pull/5321 Reviewed By: svcscm Differential Revision: D2832374 Pulled By: nicklockwood fb-gh-sync-id: f208516b2b2f76276223ffc972871d96afe87e27
16 lines
455 B
Objective-C
16 lines
455 B
Objective-C
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
#import "RCTBridgeModule.h"
|
|
#import "RCTSRWebSocket.h"
|
|
|
|
@interface RCTWebSocketModule : NSObject <RCTBridgeModule, RCTSRWebSocketDelegate>
|
|
|
|
@end
|