|
@@ -697,14 +697,6 @@ NSString *const SRHTTPResponseErrorKey = @"HTTPResponseStatusCode";
|
|
}];
|
|
}];
|
|
}
|
|
}
|
|
|
|
|
|
-- (void)_handleMessage:(id)message
|
|
|
|
-{
|
|
|
|
- SRFastLog(@"Received message");
|
|
|
|
- [self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate> _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
|
|
|
|
- [delegate webSocket:self didReceiveMessage:message];
|
|
|
|
- }];
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
|
|
|
|
static inline BOOL closeCodeIsValid(int closeCode) {
|
|
static inline BOOL closeCodeIsValid(int closeCode) {
|
|
if (closeCode < 1000) {
|
|
if (closeCode < 1000) {
|
|
@@ -813,18 +805,38 @@ static inline BOOL closeCodeIsValid(int closeCode) {
|
|
});
|
|
});
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+ SRFastLog(@"Received text message.");
|
|
[self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate> _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
|
|
[self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate> _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
|
|
// Don't convert into string - iff `delegate` tells us not to. Otherwise - create UTF8 string and handle that.
|
|
// Don't convert into string - iff `delegate` tells us not to. Otherwise - create UTF8 string and handle that.
|
|
if (availableMethods.shouldConvertTextFrameToString && ![delegate webSocketShouldConvertTextFrameToString:self]) {
|
|
if (availableMethods.shouldConvertTextFrameToString && ![delegate webSocketShouldConvertTextFrameToString:self]) {
|
|
- [delegate webSocket:self didReceiveMessage:frameData];
|
|
|
|
|
|
+ if (availableMethods.didReceiveMessage) {
|
|
|
|
+ [delegate webSocket:self didReceiveMessage:frameData];
|
|
|
|
+ }
|
|
|
|
+ if (availableMethods.didReceiveMessageWithData) {
|
|
|
|
+ [delegate webSocket:self didReceiveMessageWithData:frameData];
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
- [delegate webSocket:self didReceiveMessage:string];
|
|
|
|
|
|
+ if (availableMethods.didReceiveMessage) {
|
|
|
|
+ [delegate webSocket:self didReceiveMessage:string];
|
|
|
|
+ }
|
|
|
|
+ if (availableMethods.didReceiveMessageWithString) {
|
|
|
|
+ [delegate webSocket:self didReceiveMessageWithString:string];
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}];
|
|
}];
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- case SROpCodeBinaryFrame:
|
|
|
|
- [self _handleMessage:frameData];
|
|
|
|
|
|
+ case SROpCodeBinaryFrame: {
|
|
|
|
+ SRFastLog(@"Received data message.");
|
|
|
|
+ [self.delegateController performDelegateBlock:^(id<SRWebSocketDelegate> _Nullable delegate, SRDelegateAvailableMethods availableMethods) {
|
|
|
|
+ if (availableMethods.didReceiveMessage) {
|
|
|
|
+ [delegate webSocket:self didReceiveMessage:frameData];
|
|
|
|
+ }
|
|
|
|
+ if (availableMethods.didReceiveMessageWithData) {
|
|
|
|
+ [delegate webSocket:self didReceiveMessageWithData:frameData];
|
|
|
|
+ }
|
|
|
|
+ }];
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
case SROpCodeConnectionClose:
|
|
case SROpCodeConnectionClose:
|
|
[self handleCloseWithData:frameData];
|
|
[self handleCloseWithData:frameData];
|