Fix up catching of webfinger setup fails
This commit is contained in:
parent
6a5a629afa
commit
a4d9171306
|
@ -260,7 +260,7 @@ class OStatusSubAction extends Action
|
|||
$this->error = _m('Could not find a feed linked from this URL.');
|
||||
} catch (FeedSubUnrecognizedTypeException $e) {
|
||||
$this->error = _m('Not a recognized feed type.');
|
||||
} catch (FeedSubException $e) {
|
||||
} catch (Exception $e) {
|
||||
// Any new ones we forgot about
|
||||
$this->error = sprintf(_m('Bad feed URL: %s %s'), get_class($e), $e->getMessage());
|
||||
}
|
||||
|
@ -315,7 +315,6 @@ class OStatusSubAction extends Action
|
|||
if ($this->pullRemoteProfile()) {
|
||||
$this->validateRemoteProfile();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -1267,6 +1267,11 @@ class Ostatus_profile extends Memcached_DataObject
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $addr webfinger address
|
||||
* @return Ostatus_profile
|
||||
* @throws Exception on error conditions
|
||||
*/
|
||||
public static function ensureWebfinger($addr)
|
||||
{
|
||||
// First, try the cache
|
||||
|
@ -1275,7 +1280,8 @@ class Ostatus_profile extends Memcached_DataObject
|
|||
|
||||
if ($uri !== false) {
|
||||
if (is_null($uri)) {
|
||||
return null;
|
||||
// Negative cache entry
|
||||
throw new Exception('Not a valid webfinger address.');
|
||||
}
|
||||
$oprofile = Ostatus_profile::staticGet('uri', $uri);
|
||||
if (!empty($oprofile)) {
|
||||
|
@ -1299,8 +1305,9 @@ class Ostatus_profile extends Memcached_DataObject
|
|||
try {
|
||||
$result = $disco->lookup($addr);
|
||||
} catch (Exception $e) {
|
||||
// Save negative cache entry so we don't waste time looking it up again.
|
||||
self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), null);
|
||||
return null;
|
||||
throw new Exception('Not a valid webfinger address.');
|
||||
}
|
||||
|
||||
foreach ($result->links as $link) {
|
||||
|
@ -1410,7 +1417,7 @@ class Ostatus_profile extends Memcached_DataObject
|
|||
return $oprofile;
|
||||
}
|
||||
|
||||
return null;
|
||||
throw new Exception("Couldn't find a valid profile for '$addr'");
|
||||
}
|
||||
|
||||
function saveHTMLFile($title, $rendered)
|
||||
|
|
Loading…
Reference in New Issue
Block a user