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();
|
throw new StorageInvalidException();
|
||||||
} else {
|
} else {
|
||||||
// ownCloud instance is gone, likely to be a temporary server configuration error
|
// ownCloud instance is gone, likely to be a temporary server configuration error
|
||||||
throw $e;
|
throw new StorageNotAvailableException();
|
||||||
}
|
}
|
||||||
} catch (ForbiddenException $e) {
|
} catch (ForbiddenException $e) {
|
||||||
// auth error, remove share for now (provide a dialog in the future)
|
// 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) {
|
} catch (\GuzzleHttp\Exception\ConnectException $e) {
|
||||||
throw new StorageNotAvailableException();
|
throw new StorageNotAvailableException();
|
||||||
} catch (\GuzzleHttp\Exception\RequestException $e) {
|
} catch (\GuzzleHttp\Exception\RequestException $e) {
|
||||||
if ($e->getCode() === 503) {
|
throw new StorageNotAvailableException();
|
||||||
throw new StorageNotAvailableException();
|
|
||||||
}
|
|
||||||
throw $e;
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
|
@ -250,16 +247,13 @@ class Storage extends DAV implements ISharedStorage {
|
||||||
try {
|
try {
|
||||||
$response = $client->post($url, ['body' => ['password' => $password]]);
|
$response = $client->post($url, ['body' => ['password' => $password]]);
|
||||||
} catch (\GuzzleHttp\Exception\RequestException $e) {
|
} catch (\GuzzleHttp\Exception\RequestException $e) {
|
||||||
switch ($e->getCode()) {
|
if ($e->getCode() === 401 || $e->getCode() === 403) {
|
||||||
case 401:
|
|
||||||
case 403:
|
|
||||||
throw new ForbiddenException();
|
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);
|
return json_decode($response->getBody(), true);
|
||||||
|
|
Loading…
Reference in New Issue