From de53e74f40fe8fed6d1e51d6ec103c0b63c88dbe Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Wed, 4 Jun 2014 12:59:42 +0200 Subject: [PATCH] Proper HTTP status codes for WebFinger search miss --- plugins/WebFinger/actions/webfinger.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/WebFinger/actions/webfinger.php b/plugins/WebFinger/actions/webfinger.php index d02eaa46d9..534f70bf8f 100644 --- a/plugins/WebFinger/actions/webfinger.php +++ b/plugins/WebFinger/actions/webfinger.php @@ -36,12 +36,17 @@ class WebfingerAction extends XrdAction // throws exception if resource is empty $this->resource = Discovery::normalize($this->trimmed('resource')); - if (Event::handle('StartGetWebFingerResource', array($this->resource, &$this->target, $this->args))) { - Event::handle('EndGetWebFingerResource', array($this->resource, &$this->target, $this->args)); + try { + if (Event::handle('StartGetWebFingerResource', array($this->resource, &$this->target, $this->args))) { + Event::handle('EndGetWebFingerResource', array($this->resource, &$this->target, $this->args)); + } + } catch (NoSuchUserException $e) { + throw new ServerException($e->getMessage(), 404); } if (!$this->target instanceof WebFingerResource) { - throw new ServerException('Resource not found in local database.', 404); + // TRANS: Error message when an object URI which we cannot find was requested + throw new ServerException(_m('Resource not found in local database.'), 404); } return true;