From 4dd27a9d41d08e14186ef338efea0f11686315f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toni=20C=C3=A1rdenas?= Date: Sun, 8 Dec 2019 11:20:26 +0100 Subject: [PATCH] Extract duplicate code from ARTChannel.publish methods. --- Source/ARTChannel.m | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/Source/ARTChannel.m b/Source/ARTChannel.m index d10fc6d93..273f6562d 100644 --- a/Source/ARTChannel.m +++ b/Source/ARTChannel.m @@ -64,26 +64,7 @@ - (void)publish:(NSString *)name data:(id)data extras:(id)ext } - (void)publish:(art_nullable NSString *)name data:(art_nullable id)data extras:(id)extras callback:(art_nullable void (^)(ARTErrorInfo *__art_nullable error))callback { - NSError *error = nil; - ARTMessage *message = [[ARTMessage alloc] initWithName:name data:data]; - message.extras = extras; - ARTMessage *messagesWithDataEncoded = [self encodeMessageIfNeeded:message error:&error]; - if (error) { - if (callback) callback([ARTErrorInfo createFromNSError:error]); - return; - } - - // Checked after encoding, so that the client can receive callback with encoding errors - if ([self exceedMaxSize:@[message]]) { - ARTErrorInfo *sizeError = [ARTErrorInfo createWithCode:40009 - message:@"maximum message length exceeded"]; - if (callback) { - callback(sizeError); - } - return; - } - - [self internalPostMessages:messagesWithDataEncoded callback:callback]; + [self publish:name message:[[ARTMessage alloc] initWithName:name data:data] extras:extras callback:callback]; } - (void)publish:(NSString *)name data:(id)data clientId:(NSString *)clientId { @@ -99,8 +80,11 @@ - (void)publish:(NSString *)name data:(id)data clientId:(NSString *)clientId cal } - (void)publish:(NSString *)name data:(id)data clientId:(NSString *)clientId extras:(id)extras callback:(void (^)(ARTErrorInfo * _Nullable))callback { + [self publish:name message:[[ARTMessage alloc] initWithName:name data:data clientId:clientId] extras:extras callback:callback]; +} + +- (void)publish:(NSString *)name message:(ARTMessage *)message extras:(id)extras callback:(void (^)(ARTErrorInfo * _Nullable))callback { NSError *error = nil; - ARTMessage *message = [[ARTMessage alloc] initWithName:name data:data clientId:clientId]; message.extras = extras; ARTMessage *messagesWithDataEncoded = [self encodeMessageIfNeeded:message error:&error]; if (error) {