Merge branch 'charlesmchen/debugLogUploaderNPE' into release/2.24.0

pull/1/head
Matthew Chen 7 years ago
commit 661f48c6d8

@ -80,23 +80,28 @@ typedef void (^DebugLogUploadFailure)(DebugLogUploader *uploader, NSError *error
parameters:nil
progress:nil
success:^(NSURLSessionDataTask *task, id _Nullable responseObject) {
DebugLogUploader *strongSelf = weakSelf;
if (!strongSelf) {
return;
}
if (![responseObject isKindOfClass:[NSDictionary class]]) {
DDLogError(@"%@ Invalid response: %@, %@", weakSelf.logTag, urlString, responseObject);
[weakSelf
DDLogError(@"%@ Invalid response: %@, %@", strongSelf.logTag, urlString, responseObject);
[strongSelf
failWithError:OWSErrorWithCodeDescription(OWSErrorCodeDebugLogUploadFailed, @"Invalid response")];
return;
}
NSString *uploadUrl = responseObject[@"url"];
if (![uploadUrl isKindOfClass:[NSString class]] || uploadUrl.length < 1) {
DDLogError(@"%@ Invalid response: %@, %@", weakSelf.logTag, urlString, responseObject);
[weakSelf
DDLogError(@"%@ Invalid response: %@, %@", strongSelf.logTag, urlString, responseObject);
[strongSelf
failWithError:OWSErrorWithCodeDescription(OWSErrorCodeDebugLogUploadFailed, @"Invalid response")];
return;
}
NSDictionary *fields = responseObject[@"fields"];
if (![fields isKindOfClass:[NSDictionary class]] || fields.count < 1) {
DDLogError(@"%@ Invalid response: %@, %@", weakSelf.logTag, urlString, responseObject);
[weakSelf
DDLogError(@"%@ Invalid response: %@, %@", strongSelf.logTag, urlString, responseObject);
[strongSelf
failWithError:OWSErrorWithCodeDescription(OWSErrorCodeDebugLogUploadFailed, @"Invalid response")];
return;
}
@ -104,27 +109,33 @@ typedef void (^DebugLogUploadFailure)(DebugLogUploader *uploader, NSError *error
NSString *fieldValue = fields[fieldName];
if (![fieldName isKindOfClass:[NSString class]] || fieldName.length < 1
|| ![fieldValue isKindOfClass:[NSString class]] || fieldValue.length < 1) {
DDLogError(@"%@ Invalid response: %@, %@", weakSelf.logTag, urlString, responseObject);
[weakSelf failWithError:OWSErrorWithCodeDescription(
OWSErrorCodeDebugLogUploadFailed, @"Invalid response")];
DDLogError(@"%@ Invalid response: %@, %@", strongSelf.logTag, urlString, responseObject);
[strongSelf failWithError:OWSErrorWithCodeDescription(
OWSErrorCodeDebugLogUploadFailed, @"Invalid response")];
return;
}
}
NSString *_Nullable uploadKey = fields[@"key"];
if (![uploadKey isKindOfClass:[NSString class]] || uploadKey.length < 1) {
DDLogError(@"%@ Invalid response: %@, %@", weakSelf.logTag, urlString, responseObject);
[weakSelf
DDLogError(@"%@ Invalid response: %@, %@", strongSelf.logTag, urlString, responseObject);
[strongSelf
failWithError:OWSErrorWithCodeDescription(OWSErrorCodeDebugLogUploadFailed, @"Invalid response")];
return;
}
// Add a file extension to the upload's key.
NSString *fileExtension = weakSelf.fileUrl.lastPathComponent.pathExtension;
NSString *fileExtension = strongSelf.fileUrl.lastPathComponent.pathExtension;
if (fileExtension.length < 1) {
DDLogError(@"%@ Invalid file url: %@, %@", strongSelf.logTag, urlString, responseObject);
[strongSelf
failWithError:OWSErrorWithCodeDescription(OWSErrorCodeDebugLogUploadFailed, @"Invalid file url")];
return;
}
uploadKey = [uploadKey stringByAppendingPathExtension:fileExtension];
NSMutableDictionary *updatedFields = [fields mutableCopy];
updatedFields[@"key"] = uploadKey;
[weakSelf uploadFileWithUploadUrl:uploadUrl fields:updatedFields uploadKey:uploadKey];
[strongSelf uploadFileWithUploadUrl:uploadUrl fields:updatedFields uploadKey:uploadKey];
}
failure:^(NSURLSessionDataTask *_Nullable task, NSError *error) {
DDLogError(@"%@ failed: %@", weakSelf.logTag, urlString);

Loading…
Cancel
Save