Merge pull request #17273 from owncloud/s2s-catchmoreexceptiontypes
Catch more error codes thrown by federated shares
This commit is contained in:
commit
5caeda33f1
|
@ -191,7 +191,7 @@ class Storage extends DAV implements ISharedStorage {
|
|||
throw new StorageInvalidException();
|
||||
} else {
|
||||
// ownCloud instance is gone, likely to be a temporary server configuration error
|
||||
throw $e;
|
||||
throw new StorageNotAvailableException();
|
||||
}
|
||||
} catch (ForbiddenException $e) {
|
||||
// auth error, remove share for now (provide a dialog in the future)
|
||||
|
@ -201,10 +201,7 @@ class Storage extends DAV implements ISharedStorage {
|
|||
} catch (\GuzzleHttp\Exception\ConnectException $e) {
|
||||
throw new StorageNotAvailableException();
|
||||
} catch (\GuzzleHttp\Exception\RequestException $e) {
|
||||
if ($e->getCode() === 503) {
|
||||
throw new StorageNotAvailableException();
|
||||
}
|
||||
throw $e;
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
|
@ -250,16 +247,13 @@ class Storage extends DAV implements ISharedStorage {
|
|||
try {
|
||||
$response = $client->post($url, ['body' => ['password' => $password]]);
|
||||
} catch (\GuzzleHttp\Exception\RequestException $e) {
|
||||
switch ($e->getCode()) {
|
||||
case 401:
|
||||
case 403:
|
||||
if ($e->getCode() === 401 || $e->getCode() === 403) {
|
||||
throw new ForbiddenException();
|
||||
case 404:
|
||||
throw new NotFoundException();
|
||||
case 500:
|
||||
throw new \Exception();
|
||||
}
|
||||
throw $e;
|
||||
// throw this to be on the safe side: the share will still be visible
|
||||
// in the UI in case the failure is intermittent, and the user will
|
||||
// be able to decide whether to remove it if it's really gone
|
||||
throw new NotFoundException();
|
||||
}
|
||||
|
||||
return json_decode($response->getBody(), true);
|
||||
|
|
Loading…
Reference in New Issue