From cae430bac93dae9b89887291d5645ca8e9d526eb Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Tue, 13 Nov 2018 09:37:11 -0500 Subject: [PATCH] Randomly fail half of all websocket requests. --- .../src/Network/WebSockets/OWSWebSocket.m | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/SignalServiceKit/src/Network/WebSockets/OWSWebSocket.m b/SignalServiceKit/src/Network/WebSockets/OWSWebSocket.m index b2f514781..82d2e6dae 100644 --- a/SignalServiceKit/src/Network/WebSockets/OWSWebSocket.m +++ b/SignalServiceKit/src/Network/WebSockets/OWSWebSocket.m @@ -501,6 +501,19 @@ NSString *NSStringFromOWSWebSocketType(OWSWebSocketType type) OWSAssertDebug(request.HTTPMethod.length > 0); OWSAssertDebug(success); OWSAssertDebug(failure); + + // Randomly fail half of all websocket requests. + if (arc4random_uniform(2) == 0) { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + NSInteger statusCode = 0; + NSData *_Nullable responseData = nil; + NSError *error = [NSError errorWithDomain:OWSSignalServiceKitErrorDomain + code:99999 + userInfo:@{ NSLocalizedDescriptionKey: @"Random failure." }]; + failure(statusCode, responseData, error); + }); + return; + } TSSocketMessage *socketMessage = [[TSSocketMessage alloc] initWithRequestId:[Cryptography randomUInt64] success:success