From 6a93e8dd09ae2eeab616d14189a58633fd928c07 Mon Sep 17 00:00:00 2001 From: Alexander Tkachev Date: Fri, 10 Jun 2016 14:28:04 +0600 Subject: CLOUD: Add ConnMan::urlEncode() Tried to use it everywhere I should've use it. --- backends/cloud/onedrive/onedrivecreatedirectoryrequest.cpp | 2 +- backends/cloud/onedrive/onedrivelistdirectoryrequest.cpp | 5 +++-- backends/cloud/onedrive/onedrivestorage.cpp | 2 +- backends/cloud/onedrive/onedriveuploadrequest.cpp | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) (limited to 'backends/cloud/onedrive') diff --git a/backends/cloud/onedrive/onedrivecreatedirectoryrequest.cpp b/backends/cloud/onedrive/onedrivecreatedirectoryrequest.cpp index c48ae1dfbe..fe1128bd5b 100644 --- a/backends/cloud/onedrive/onedrivecreatedirectoryrequest.cpp +++ b/backends/cloud/onedrive/onedrivecreatedirectoryrequest.cpp @@ -63,7 +63,7 @@ void OneDriveCreateDirectoryRequest::start() { } Common::String url = "https://api.onedrive.com/v1.0/drive/special/approot"; - if (parent != "") url += ":/" + parent + ":"; + if (parent != "") url += ":/" + ConnMan.urlEncode(parent) + ":"; url += "/children"; Networking::JsonCallback innerCallback = new Common::Callback(this, &OneDriveCreateDirectoryRequest::responseCallback); Networking::ErrorCallback errorCallback = new Common::Callback(this, &OneDriveCreateDirectoryRequest::errorCallback); diff --git a/backends/cloud/onedrive/onedrivelistdirectoryrequest.cpp b/backends/cloud/onedrive/onedrivelistdirectoryrequest.cpp index e362600389..040ef153db 100644 --- a/backends/cloud/onedrive/onedrivelistdirectoryrequest.cpp +++ b/backends/cloud/onedrive/onedrivelistdirectoryrequest.cpp @@ -70,8 +70,9 @@ void OneDriveListDirectoryRequest::listNextDirectory() { if (_currentDirectory != "" && _currentDirectory.lastChar() != '/' && _currentDirectory.lastChar() != '\\') _currentDirectory += '/'; - Common::String url = "https://api.onedrive.com/v1.0/drive/special/approot:/" + _currentDirectory; - url.deleteLastChar(); + Common::String dir = _currentDirectory; + dir.deleteLastChar(); + Common::String url = "https://api.onedrive.com/v1.0/drive/special/approot:/" + ConnMan.urlEncode(dir); url += ":/children"; makeRequest(url); } diff --git a/backends/cloud/onedrive/onedrivestorage.cpp b/backends/cloud/onedrive/onedrivestorage.cpp index 178d43c8be..d1971f904a 100644 --- a/backends/cloud/onedrive/onedrivestorage.cpp +++ b/backends/cloud/onedrive/onedrivestorage.cpp @@ -214,7 +214,7 @@ Networking::Request *OneDriveStorage::upload(Common::String path, Common::Seekab } Networking::Request *OneDriveStorage::streamFileById(Common::String path, Networking::NetworkReadStreamCallback outerCallback, Networking::ErrorCallback errorCallback) { - Common::String url = "https://api.onedrive.com/v1.0/drive/special/approot:/" + path; + Common::String url = "https://api.onedrive.com/v1.0/drive/special/approot:/" + ConnMan.urlEncode(path); Networking::JsonCallback innerCallback = new Common::CallbackBridge(this, &OneDriveStorage::fileInfoCallback, outerCallback); Networking::CurlJsonRequest *request = new OneDriveTokenRefresher(this, innerCallback, errorCallback, url.c_str()); request->addHeader("Authorization: Bearer " + _token); diff --git a/backends/cloud/onedrive/onedriveuploadrequest.cpp b/backends/cloud/onedrive/onedriveuploadrequest.cpp index 752907f333..bc54a811a9 100644 --- a/backends/cloud/onedrive/onedriveuploadrequest.cpp +++ b/backends/cloud/onedrive/onedriveuploadrequest.cpp @@ -63,7 +63,7 @@ void OneDriveUploadRequest::uploadNextPart() { const uint32 UPLOAD_PER_ONE_REQUEST = 10 * 1024 * 1024; if (_uploadUrl == "" && _contentsStream->size() > UPLOAD_PER_ONE_REQUEST) { - Common::String url = "https://api.onedrive.com/v1.0/drive/special/approot:/"+_savePath+":/upload.createSession"; //folder must exist + Common::String url = "https://api.onedrive.com/v1.0/drive/special/approot:/"+ConnMan.urlEncode(_savePath)+":/upload.createSession"; //folder must exist Networking::JsonCallback callback = new Common::Callback(this, &OneDriveUploadRequest::partUploadedCallback); Networking::ErrorCallback failureCallback = new Common::Callback(this, &OneDriveUploadRequest::partUploadedErrorCallback); Networking::CurlJsonRequest *request = new OneDriveTokenRefresher(_storage, callback, failureCallback, url.c_str()); @@ -75,7 +75,7 @@ void OneDriveUploadRequest::uploadNextPart() { Common::String url; if (_uploadUrl == "") { - url = "https://api.onedrive.com/v1.0/drive/special/approot:/"+_savePath+":/content"; + url = "https://api.onedrive.com/v1.0/drive/special/approot:/"+ConnMan.urlEncode(_savePath)+":/content"; } else { url = _uploadUrl; } -- cgit v1.2.3