summaryrefslogtreecommitdiffstats
path: root/apps/files_external/lib/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/lib/Lib')
-rw-r--r--apps/files_external/lib/Lib/Storage/Dropbox.php5
-rw-r--r--apps/files_external/lib/Lib/Storage/Google.php4
2 files changed, 7 insertions, 2 deletions
diff --git a/apps/files_external/lib/Lib/Storage/Dropbox.php b/apps/files_external/lib/Lib/Storage/Dropbox.php
index f15cbba0469..f0f62f9f35a 100644
--- a/apps/files_external/lib/Lib/Storage/Dropbox.php
+++ b/apps/files_external/lib/Lib/Storage/Dropbox.php
@@ -32,6 +32,7 @@ namespace OCA\Files_External\Lib\Storage;
use GuzzleHttp\Exception\RequestException;
use Icewind\Streams\IteratorDirectory;
use Icewind\Streams\RetryWrapper;
+use OCP\Files\StorageNotAvailableException;
require_once __DIR__ . '/../../../3rdparty/Dropbox/autoload.php';
@@ -94,6 +95,8 @@ class Dropbox extends \OC\Files\Storage\Common {
if ($list) {
try {
$response = $this->dropbox->getMetaData($path);
+ } catch (\Dropbox_Exception_Forbidden $e) {
+ throw new StorageNotAvailableException('Dropbox API rate limit exceeded', StorageNotAvailableException::STATUS_ERROR, $e);
} catch (\Exception $exception) {
\OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR);
return false;
@@ -127,6 +130,8 @@ class Dropbox extends \OC\Files\Storage\Common {
return $response;
}
return null;
+ } catch (\Dropbox_Exception_Forbidden $e) {
+ throw new StorageNotAvailableException('Dropbox API rate limit exceeded', StorageNotAvailableException::STATUS_ERROR, $e);
} catch (\Exception $exception) {
if ($exception instanceof \Dropbox_Exception_NotFound) {
// don't log, might be a file_exist check
diff --git a/apps/files_external/lib/Lib/Storage/Google.php b/apps/files_external/lib/Lib/Storage/Google.php
index 96f12800c10..0b617aafe9d 100644
--- a/apps/files_external/lib/Lib/Storage/Google.php
+++ b/apps/files_external/lib/Lib/Storage/Google.php
@@ -168,11 +168,11 @@ class Google extends \OC\Files\Storage\Common {
$path = trim($path, '/');
$this->driveFiles[$path] = $file;
if ($file === false) {
- // Set all child paths as false
+ // Remove all children
$len = strlen($path);
foreach ($this->driveFiles as $key => $file) {
if (substr($key, 0, $len) === $path) {
- $this->driveFiles[$key] = false;
+ unset($this->driveFiles[$key]);
}
}
}