From 15a27493823bf8f910ec097b4b94d32412b43652 Mon Sep 17 00:00:00 2001 From: abraunegg Date: Thu, 27 Jun 2019 18:40:18 +1000 Subject: [PATCH] Handle OneDrive error response on creating upload session (#556) * Add a try block when attempting to create the upload session and handle if there is an error response from OneDrive * Should return a JSONValue regardless of error --- src/upload.d | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/upload.d b/src/upload.d index c3d74133..d93a499e 100644 --- a/src/upload.d +++ b/src/upload.d @@ -39,10 +39,19 @@ struct UploadSession ]) ]; - session = onedrive.createUploadSession(parentDriveId, parentId, filename, eTag, fileSystemInfo); - session["localPath"] = localPath; - save(); - return upload(); + try { + // Try to create the upload session for this file + session = onedrive.createUploadSession(parentDriveId, parentId, filename, eTag, fileSystemInfo); + session["localPath"] = localPath; + save(); + return upload(); + } catch (OneDriveException e) { + // there was an error + log.vlog("Create file upload session failed ... skipping file upload"); + // return upload() will return a JSONValue response, create an empty JSONValue response to return + JSONValue response; + return response; + } } /* Restore the previous upload session.