Browse Source

improve federation error messages

pull/767/head
Bjoern Schiessle 9 years ago
parent
commit
50044fb792
No known key found for this signature in database GPG Key ID: 2378A753E2BF04F6
  1. 4
      apps/federation/lib/Controller/SettingsController.php
  2. 2
      apps/federation/lib/DbHandler.php
  3. 26
      apps/federation/lib/TrustedServers.php
  4. 3
      apps/federation/tests/TrustedServersTest.php

4
apps/federation/lib/Controller/SettingsController.php

@ -113,8 +113,8 @@ class SettingsController extends Controller {
}
if ($this->trustedServers->isOwnCloudServer($url) === false) {
$message = 'No server to federate found';
$hint = $this->l->t('No server to federate found');
$message = 'No server to federate with found';
$hint = $this->l->t('No server to federate with found');
throw new HintException($message, $hint);
}

2
apps/federation/lib/DbHandler.php

@ -89,7 +89,7 @@ class DbHandler {
if ($result) {
return (int)$this->connection->lastInsertId('*PREFIX*'.$this->dbTable);
} else {
$message = 'Internal failure, Could not add ownCloud as trusted server: ' . $url;
$message = 'Internal failure, Could not add trusted server: ' . $url;
$message_t = $this->IL10N->t('Could not add server');
throw new HintException($message, $message_t);
}

26
apps/federation/lib/TrustedServers.php

@ -211,7 +211,7 @@ class TrustedServers {
}
/**
* check if URL point to a ownCloud server
* check if URL point to a ownCloud/Nextcloud server
*
* @param string $url
* @return bool
@ -219,15 +219,21 @@ class TrustedServers {
public function isOwnCloudServer($url) {
$isValidOwnCloud = false;
$client = $this->httpClientService->newClient();
$result = $client->get(
$url . '/status.php',
[
'timeout' => 3,
'connect_timeout' => 3,
]
);
if ($result->getStatusCode() === Http::STATUS_OK) {
$isValidOwnCloud = $this->checkOwnCloudVersion($result->getBody());
try {
$result = $client->get(
$url . '/status.php',
[
'timeout' => 3,
'connect_timeout' => 3,
]
);
if ($result->getStatusCode() === Http::STATUS_OK) {
$isValidOwnCloud = $this->checkOwnCloudVersion($result->getBody());
}
} catch (\Exception $e) {
$this->logger->debug('No Nextcloud server: ' . $e->getMessage());
return false;
}
return $isValidOwnCloud;

3
apps/federation/tests/TrustedServersTest.php

@ -309,7 +309,6 @@ class TrustedServersTest extends TestCase {
}
/**
* @expectedException \Exception
* @expectedExceptionMessage simulated exception
*/
public function testIsOwnCloudServerFail() {
@ -323,7 +322,7 @@ class TrustedServersTest extends TestCase {
throw new \Exception('simulated exception');
});
$this->trustedServers->isOwnCloudServer($server);
$this->assertFalse($this->trustedServers->isOwnCloudServer($server));
}
/**

Loading…
Cancel
Save