From bb950b7483eb959d3a4c2b109b3e996fbaac083f Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Mon, 10 Mar 2014 09:30:06 +0100 Subject: [PATCH 1/2] Added OCS-APIREQUEST header to every OCS request --- .../lib/resources/shares/CreateRemoteShareOperation.java | 6 ++++++ .../resources/shares/GetRemoteSharesForFileOperation.java | 6 ++++++ .../lib/resources/shares/GetRemoteSharesOperation.java | 5 +++++ .../lib/resources/shares/RemoveRemoteShareOperation.java | 6 ++++++ .../lib/resources/users/GetRemoteUserNameOperation.java | 2 +- 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java index 48ac0d8e..89b176fc 100644 --- a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java @@ -48,6 +48,10 @@ public class CreateRemoteShareOperation extends RemoteOperation { private static final String TAG = CreateRemoteShareOperation.class.getSimpleName(); + // OCS API header + private static final String HEADER_OCS_API = "OCS-APIREQUEST"; + private static final String HEADER_OCS_API_VALUE = "true"; + private static final String PARAM_PATH = "path"; private static final String PARAM_SHARE_TYPE = "shareType"; private static final String PARAM_SHARE_WITH = "shareWith"; @@ -115,6 +119,8 @@ public class CreateRemoteShareOperation extends RemoteOperation { } post.addParameter(PARAM_PERMISSIONS, Integer.toString(mPermissions)); + post.addRequestHeader(HEADER_OCS_API, HEADER_OCS_API_VALUE); + status = client.executeMethod(post); if(isSuccess(status)) { diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java index a17e8a5b..77779029 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java @@ -52,6 +52,10 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { private static final String TAG = GetRemoteSharesForFileOperation.class.getSimpleName(); + // OCS API header + private static final String HEADER_OCS_API = "OCS-APIREQUEST"; + private static final String HEADER_OCS_API_VALUE = "true"; + private static final String PARAM_PATH = "path"; private static final String PARAM_RESHARES = "reshares"; private static final String PARAM_SUBFILES = "subfiles"; @@ -96,6 +100,8 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { new NameValuePair(PARAM_SUBFILES, String.valueOf(mSubfiles)) }); + get.addRequestHeader(HEADER_OCS_API, HEADER_OCS_API_VALUE); + status = client.executeMethod(get); if(isSuccess(status)) { diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java index 24ca2f5c..60a885b9 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java @@ -50,6 +50,10 @@ public class GetRemoteSharesOperation extends RemoteOperation { private static final String TAG = GetRemoteSharesOperation.class.getSimpleName(); + // OCS API header + private static final String HEADER_OCS_API = "OCS-APIREQUEST"; + private static final String HEADER_OCS_API_VALUE = "true"; + private ArrayList mShares; // List of shares for result @@ -68,6 +72,7 @@ public class GetRemoteSharesOperation extends RemoteOperation { try{ get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); Log.d(TAG, "URL ------> " + client.getBaseUri() + ShareUtils.SHARING_API_PATH); + get.addRequestHeader(HEADER_OCS_API, HEADER_OCS_API_VALUE); status = client.executeMethod(get); if(isSuccess(status)) { Log.d(TAG, "Obtain RESPONSE"); diff --git a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java index 83e94372..908bf42b 100644 --- a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java @@ -48,6 +48,10 @@ public class RemoveRemoteShareOperation extends RemoteOperation { private static final String TAG = RemoveRemoteShareOperation.class.getSimpleName(); + // OCS API header + private static final String HEADER_OCS_API = "OCS-APIREQUEST"; + private static final String HEADER_OCS_API_VALUE = "true"; + private int mRemoteShareId; /** @@ -73,6 +77,8 @@ public class RemoveRemoteShareOperation extends RemoteOperation { delete = new DeleteMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + id); Log.d(TAG, "URL ------> " + client.getBaseUri() + ShareUtils.SHARING_API_PATH + id); + delete.addRequestHeader(HEADER_OCS_API, HEADER_OCS_API_VALUE); + status = client.executeMethod(delete); if(isSuccess(status)) { diff --git a/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java b/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java index 12ab7277..f644c587 100644 --- a/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java +++ b/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java @@ -48,7 +48,7 @@ public class GetRemoteUserNameOperation extends RemoteOperation { private static final String TAG = GetRemoteUserNameOperation.class.getSimpleName(); - // HEADER + // OCS API header private static final String HEADER_OCS_API = "OCS-APIREQUEST"; private static final String HEADER_OCS_API_VALUE = "true"; From 1dbc9a121e8818d0202d3aaec31bce1335ee428b Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Mon, 10 Mar 2014 10:36:37 +0100 Subject: [PATCH 2/2] Single location for OCS_API_HEADER constants and identation fails fixed --- .../common/operations/RemoteOperation.java | 6 +++++ .../shares/CreateRemoteShareOperation.java | 6 +---- .../GetRemoteSharesForFileOperation.java | 6 +---- .../shares/GetRemoteSharesOperation.java | 6 +---- .../shares/RemoveRemoteShareOperation.java | 6 +---- .../users/GetRemoteUserNameOperation.java | 24 +++++++------------ 6 files changed, 18 insertions(+), 36 deletions(-) diff --git a/src/com/owncloud/android/lib/common/operations/RemoteOperation.java b/src/com/owncloud/android/lib/common/operations/RemoteOperation.java index 6b3b134f..9d453090 100644 --- a/src/com/owncloud/android/lib/common/operations/RemoteOperation.java +++ b/src/com/owncloud/android/lib/common/operations/RemoteOperation.java @@ -55,6 +55,12 @@ public abstract class RemoteOperation implements Runnable { private static final String TAG = RemoteOperation.class.getSimpleName(); + /** OCS API header name */ + public static final String OCS_API_HEADER = "OCS-APIREQUEST"; + + /** OCS API header value */ + public static final String OCS_API_HEADER_VALUE = "true"; + /** ownCloud account in the remote ownCloud server to operate */ private Account mAccount = null; diff --git a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java index 89b176fc..7c97c40e 100644 --- a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java @@ -48,10 +48,6 @@ public class CreateRemoteShareOperation extends RemoteOperation { private static final String TAG = CreateRemoteShareOperation.class.getSimpleName(); - // OCS API header - private static final String HEADER_OCS_API = "OCS-APIREQUEST"; - private static final String HEADER_OCS_API_VALUE = "true"; - private static final String PARAM_PATH = "path"; private static final String PARAM_SHARE_TYPE = "shareType"; private static final String PARAM_SHARE_WITH = "shareWith"; @@ -119,7 +115,7 @@ public class CreateRemoteShareOperation extends RemoteOperation { } post.addParameter(PARAM_PERMISSIONS, Integer.toString(mPermissions)); - post.addRequestHeader(HEADER_OCS_API, HEADER_OCS_API_VALUE); + post.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(post); diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java index 77779029..48f8a023 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java @@ -52,10 +52,6 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { private static final String TAG = GetRemoteSharesForFileOperation.class.getSimpleName(); - // OCS API header - private static final String HEADER_OCS_API = "OCS-APIREQUEST"; - private static final String HEADER_OCS_API_VALUE = "true"; - private static final String PARAM_PATH = "path"; private static final String PARAM_RESHARES = "reshares"; private static final String PARAM_SUBFILES = "subfiles"; @@ -100,7 +96,7 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { new NameValuePair(PARAM_SUBFILES, String.valueOf(mSubfiles)) }); - get.addRequestHeader(HEADER_OCS_API, HEADER_OCS_API_VALUE); + get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(get); diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java index 60a885b9..d5d10aff 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java @@ -50,10 +50,6 @@ public class GetRemoteSharesOperation extends RemoteOperation { private static final String TAG = GetRemoteSharesOperation.class.getSimpleName(); - // OCS API header - private static final String HEADER_OCS_API = "OCS-APIREQUEST"; - private static final String HEADER_OCS_API_VALUE = "true"; - private ArrayList mShares; // List of shares for result @@ -72,7 +68,7 @@ public class GetRemoteSharesOperation extends RemoteOperation { try{ get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); Log.d(TAG, "URL ------> " + client.getBaseUri() + ShareUtils.SHARING_API_PATH); - get.addRequestHeader(HEADER_OCS_API, HEADER_OCS_API_VALUE); + get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(get); if(isSuccess(status)) { Log.d(TAG, "Obtain RESPONSE"); diff --git a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java index 908bf42b..7124eaf1 100644 --- a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java @@ -48,10 +48,6 @@ public class RemoveRemoteShareOperation extends RemoteOperation { private static final String TAG = RemoveRemoteShareOperation.class.getSimpleName(); - // OCS API header - private static final String HEADER_OCS_API = "OCS-APIREQUEST"; - private static final String HEADER_OCS_API_VALUE = "true"; - private int mRemoteShareId; /** @@ -77,7 +73,7 @@ public class RemoveRemoteShareOperation extends RemoteOperation { delete = new DeleteMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + id); Log.d(TAG, "URL ------> " + client.getBaseUri() + ShareUtils.SHARING_API_PATH + id); - delete.addRequestHeader(HEADER_OCS_API, HEADER_OCS_API_VALUE); + delete.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(delete); diff --git a/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java b/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java index f644c587..72d53efb 100644 --- a/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java +++ b/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java @@ -48,10 +48,6 @@ public class GetRemoteUserNameOperation extends RemoteOperation { private static final String TAG = GetRemoteUserNameOperation.class.getSimpleName(); - // OCS API header - private static final String HEADER_OCS_API = "OCS-APIREQUEST"; - private static final String HEADER_OCS_API_VALUE = "true"; - // OCS Route private static final String OCS_ROUTE ="/index.php/ocs/cloud/user?format=json"; @@ -74,18 +70,14 @@ public class GetRemoteUserNameOperation extends RemoteOperation { @Override protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result = null; - int status = -1; - GetMethod get = null; - - //Get the user - try { - get = new GetMethod(client.getWebdavUri() + OCS_ROUTE); - //get = new GetMethod(client.getBaseUri() + OCS_ROUTE); // need to fix the semantics of getBaseUri and getWebdavUri - //Log.e(TAG, "Getting OC user information from " + client.getBaseUri() + OCS_ROUTE); - //Log.e(TAG, "Getting OC user information from " + client.getWebdavUri() + OCS_ROUTE); - // Add the Header - get.addRequestHeader(HEADER_OCS_API, HEADER_OCS_API_VALUE); + RemoteOperationResult result = null; + int status = -1; + GetMethod get = null; + + //Get the user + try { + get = new GetMethod(client.getWebdavUri() + OCS_ROUTE); + get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(get); if(isSuccess(status)) { String response = get.getResponseBodyAsString();