aboutsummaryrefslogtreecommitdiff
path: root/backends/cloud/onedrive
diff options
context:
space:
mode:
authorAlexander Tkachev2016-06-10 14:28:04 +0600
committerAlexander Tkachev2016-08-24 16:07:55 +0600
commit6a93e8dd09ae2eeab616d14189a58633fd928c07 (patch)
tree80f8c7e52ad62321d8eed5864fa168803c99e272 /backends/cloud/onedrive
parentc99b24c16d1111a701d915832f24ac457aef697d (diff)
downloadscummvm-rg350-6a93e8dd09ae2eeab616d14189a58633fd928c07.tar.gz
scummvm-rg350-6a93e8dd09ae2eeab616d14189a58633fd928c07.tar.bz2
scummvm-rg350-6a93e8dd09ae2eeab616d14189a58633fd928c07.zip
CLOUD: Add ConnMan::urlEncode()
Tried to use it everywhere I should've use it.
Diffstat (limited to 'backends/cloud/onedrive')
-rw-r--r--backends/cloud/onedrive/onedrivecreatedirectoryrequest.cpp2
-rw-r--r--backends/cloud/onedrive/onedrivelistdirectoryrequest.cpp5
-rw-r--r--backends/cloud/onedrive/onedrivestorage.cpp2
-rw-r--r--backends/cloud/onedrive/onedriveuploadrequest.cpp4
4 files changed, 7 insertions, 6 deletions
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<OneDriveCreateDirectoryRequest, Networking::JsonResponse>(this, &OneDriveCreateDirectoryRequest::responseCallback);
Networking::ErrorCallback errorCallback = new Common::Callback<OneDriveCreateDirectoryRequest, Networking::ErrorResponse>(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<OneDriveStorage, Networking::NetworkReadStreamResponse, Networking::JsonResponse>(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<OneDriveUploadRequest, Networking::JsonResponse>(this, &OneDriveUploadRequest::partUploadedCallback);
Networking::ErrorCallback failureCallback = new Common::Callback<OneDriveUploadRequest, Networking::ErrorResponse>(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;
}