diff --git a/apps/files_sharing/lib/external/storage.php b/apps/files_sharing/lib/external/storage.php index 1dfef21ca753d777eef993a0f10e29f61d9dde4e..7c1dc5aeaf5aa8b8a02ae4d4c8eb65f234f8c186 100644 --- a/apps/files_sharing/lib/external/storage.php +++ b/apps/files_sharing/lib/external/storage.php @@ -248,16 +248,19 @@ class Storage extends DAV implements ISharedStorage { // TODO: DI $client = \OC::$server->getHTTPClientService()->newClient(); - $response = $client->post($url, ['body' => ['password' => $password]]); - - switch ($response->getStatusCode()) { - case 401: - case 403: - throw new ForbiddenException(); - case 404: - throw new NotFoundException(); - case 500: - throw new \Exception(); + try { + $response = $client->post($url, ['body' => ['password' => $password]]); + } catch (\GuzzleHttp\Exception\RequestException $e) { + switch ($e->getCode()) { + case 401: + case 403: + throw new ForbiddenException(); + case 404: + throw new NotFoundException(); + case 500: + throw new \Exception(); + } + throw $e; } return json_decode($response->getBody(), true);