diff --git a/src/com/owncloud/android/lib/common/http/nonwebdav/DeleteMethod.java b/src/com/owncloud/android/lib/common/http/nonwebdav/DeleteMethod.java
new file mode 100644
index 00000000..61e9aa1d
--- /dev/null
+++ b/src/com/owncloud/android/lib/common/http/nonwebdav/DeleteMethod.java
@@ -0,0 +1,50 @@
+/* ownCloud Android Library is available under MIT license
+ *   Copyright (C) 2018 ownCloud GmbH.
+ *
+ *   Permission is hereby granted, free of charge, to any person obtaining a copy
+ *   of this software and associated documentation files (the "Software"), to deal
+ *   in the Software without restriction, including without limitation the rights
+ *   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ *   copies of the Software, and to permit persons to whom the Software is
+ *   furnished to do so, subject to the following conditions:
+ *
+ *   The above copyright notice and this permission notice shall be included in
+ *   all copies or substantial portions of the Software.
+ *
+ *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ *   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ *   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ *   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ *   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ *   THE SOFTWARE.
+ *
+ */
+
+package com.owncloud.android.lib.common.http.nonwebdav;
+
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+
+/**
+ * OkHttp delete calls wrapper
+ * @author David González Verdugo
+ */
+public class DeleteMethod extends HttpMethod{
+
+    public DeleteMethod(OkHttpClient okHttpClient, Request baseRequest) {
+        super(okHttpClient, baseRequest);
+    }
+
+    @Override
+    public Response execute() throws Exception {
+        mRequest = mBaseRequest
+                .newBuilder()
+                .delete()
+                .build();
+
+        return mOkHttpClient.newCall(mRequest).execute();
+    }
+}
\ No newline at end of file
diff --git a/src/com/owncloud/android/lib/common/http/nonwebdav/PutMethod.java b/src/com/owncloud/android/lib/common/http/nonwebdav/PutMethod.java
new file mode 100644
index 00000000..39dcfc8e
--- /dev/null
+++ b/src/com/owncloud/android/lib/common/http/nonwebdav/PutMethod.java
@@ -0,0 +1,50 @@
+/* ownCloud Android Library is available under MIT license
+ *   Copyright (C) 2018 ownCloud GmbH.
+ *
+ *   Permission is hereby granted, free of charge, to any person obtaining a copy
+ *   of this software and associated documentation files (the "Software"), to deal
+ *   in the Software without restriction, including without limitation the rights
+ *   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ *   copies of the Software, and to permit persons to whom the Software is
+ *   furnished to do so, subject to the following conditions:
+ *
+ *   The above copyright notice and this permission notice shall be included in
+ *   all copies or substantial portions of the Software.
+ *
+ *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ *   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ *   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ *   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ *   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ *   THE SOFTWARE.
+ *
+ */
+
+package com.owncloud.android.lib.common.http.nonwebdav;
+
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okhttp3.Response;
+
+public class PutMethod extends HttpMethod{
+
+    private RequestBody mRequestBody;
+
+    public PutMethod(OkHttpClient okHttpClient, Request baseRequest, RequestBody requestBody){
+        super(okHttpClient, baseRequest);
+        mRequestBody = requestBody;
+    }
+
+    @Override
+    public Response execute() throws Exception {
+        mRequest = mBaseRequest
+                .newBuilder()
+                .put(mRequestBody)
+                .build();
+
+        return mOkHttpClient.newCall(mRequest).execute();
+    }
+}
\ No newline at end of file
diff --git a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java
index 921aafea..7361fa84 100644
--- a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java
+++ b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java
@@ -204,10 +204,10 @@ public class CreateRemoteShareOperation extends RemoteOperation {
             Uri.Builder uriBuilder = requestUri.buildUpon();
             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH);
 
-            final Request request = new Request.Builder()
+            Request request = new Request.Builder()
                     .url(uriBuilder.build().toString())
-                    .header("Content-Type", "application/x-www-form-urlencoded; " +
-                            "charset=utf-8")
+                    .header("Content-Type", 
+                            "application/x-www-form-urlencoded; charset=utf-8")
                     .addHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE)
                     .build();
 
diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java
index 8ae1b74f..e1e5443c 100644
--- a/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java
+++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java
@@ -77,7 +77,7 @@ public class GetRemoteShareOperation extends RemoteOperation {
             if (isSuccess(response.code())) {
                 // Parse xml response and obtain the list of shares
                 ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser(
-                    new ShareXMLParser()
+                        new ShareXMLParser()
                 );
                 parser.setOneOrMoreSharesRequired(true);
                 parser.setOwnCloudVersion(client.getOwnCloudVersion());
diff --git a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java
index 9654d43a..8e2fb4d1 100644
--- a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java
+++ b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java
@@ -3,23 +3,23 @@
  *   @author David A. Velasco
  *   @author David González Verdugo
  *   Copyright (C) 2018 ownCloud GmbH.
- *   
+ *
  *   Permission is hereby granted, free of charge, to any person obtaining a copy
  *   of this software and associated documentation files (the "Software"), to deal
  *   in the Software without restriction, including without limitation the rights
  *   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  *   copies of the Software, and to permit persons to whom the Software is
  *   furnished to do so, subject to the following conditions:
- *   
+ *
  *   The above copyright notice and this permission notice shall be included in
  *   all copies or substantial portions of the Software.
- *   
- *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
+ *
+ *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- *   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
- *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 
- *   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
- *   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 
+ *   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ *   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ *   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  *   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  *   THE SOFTWARE.
  *
@@ -30,15 +30,21 @@ package com.owncloud.android.lib.resources.shares;
 import android.net.Uri;
 
 import com.owncloud.android.lib.common.OwnCloudClient;
+import com.owncloud.android.lib.common.http.HttpConstants;
+import com.owncloud.android.lib.common.http.nonwebdav.DeleteMethod;
 import com.owncloud.android.lib.common.operations.RemoteOperation;
 import com.owncloud.android.lib.common.operations.RemoteOperationResult;
 import com.owncloud.android.lib.common.utils.Log_OC;
 
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.jackrabbit.webdav.client.methods.DeleteMethod;
+import okhttp3.Request;
+import okhttp3.Response;
 
 /**
  * Remove a share
+ *
+ * @author masensio
+ * @author David A. Velasco
+ * @author David González Verdugo
  */
 
 public class RemoveRemoteShareOperation extends RemoteOperation {
@@ -55,55 +61,52 @@ public class RemoveRemoteShareOperation extends RemoteOperation {
 
     public RemoveRemoteShareOperation(int remoteShareId) {
         mRemoteShareId = remoteShareId;
-
     }
 
     @Override
     protected RemoteOperationResult run(OwnCloudClient client) {
         RemoteOperationResult result;
-        int status;
-
-        DeleteMethod delete = null;
 
         try {
+            String id = "/" + String.valueOf(mRemoteShareId);
+
             Uri requestUri = client.getBaseUri();
             Uri.Builder uriBuilder = requestUri.buildUpon();
             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH);
-            uriBuilder.appendEncodedPath(String.valueOf(mRemoteShareId));
+            uriBuilder.appendEncodedPath(String.valueOf(id));
 
-            delete = new DeleteMethod(uriBuilder.build().toString());
+            Request request = new Request.Builder()
+                    .url(uriBuilder.build().toString())
+                    .addHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE)
+                    .build();
 
-            delete.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE);
+            DeleteMethod deleteMethod = new DeleteMethod(client.getOkHttpClient(), request);
 
-            status = client.executeMethod(delete);
+            Response response = client.executeHttpMethod(deleteMethod);
 
-            if (isSuccess(status)) {
-                String response = delete.getResponseBodyAsString();
+            if (isSuccess(response.code())) {
 
                 // Parse xml response and obtain the list of shares
                 ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser(
-                    new ShareXMLParser()
+                        new ShareXMLParser()
                 );
-                result = parser.parse(response);
+                result = parser.parse(response.body().string());
 
                 Log_OC.d(TAG, "Unshare " + mRemoteShareId + ": " + result.getLogMessage());
 
             } else {
-                result = new RemoteOperationResult(false, delete);
+                result = new RemoteOperationResult(false, deleteMethod.getRequest(), response);
             }
+
         } catch (Exception e) {
             result = new RemoteOperationResult(e);
             Log_OC.e(TAG, "Unshare Link Exception " + result.getLogMessage(), e);
-
-        } finally {
-            if (delete != null)
-                delete.releaseConnection();
         }
+
         return result;
     }
 
-
     private boolean isSuccess(int status) {
-        return (status == HttpStatus.SC_OK);
+        return (status == HttpConstants.HTTP_OK);
     }
 }
\ No newline at end of file
diff --git a/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java
index 29f2f48d..04d74bb1 100644
--- a/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java
+++ b/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java
@@ -172,7 +172,7 @@ public class UpdateRemoteShareOperation extends RemoteOperation {
         if (mName != null) {
             parametersToUpdate.add(new Pair<>(PARAM_NAME, mName));
         }
-        
+
         if (mPassword != null) {
             parametersToUpdate.add(new Pair<>(PARAM_PASSWORD, mPassword));
         }