X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fapicheckhub.php;h=e11b7da4b75793a2cbf74382c1519ab9f2cf5ecb;hb=57c87088d4cdc435d386c457249642c2ffeab21b;hp=e32420d3c383dd8f1955fab1a76ebefec4a34cd8;hpb=8912cdc7a4acaeaea3b2b323efc86333ffd5ef63;p=quix0rs-gnu-social.git diff --git a/actions/apicheckhub.php b/actions/apicheckhub.php index e32420d3c3..e11b7da4b7 100644 --- a/actions/apicheckhub.php +++ b/actions/apicheckhub.php @@ -20,7 +20,7 @@ * along with this program. If not, see . * * @category API - * @package GNUSocial + * @package GNUsocial * @author Hannes Mannerheim * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://www.gnu.org/software/social/ @@ -34,6 +34,8 @@ if (!defined('GNUSOCIAL')) { exit(1); } */ class ApiCheckHubAction extends ApiAuthAction { + protected $url = null; + /** * Take arguments for running * @@ -41,20 +43,22 @@ class ApiCheckHubAction extends ApiAuthAction * * @return boolean success flag */ - function prepare($args) + protected function prepare(array $args=array()) { parent::prepare($args); + if ($this->format !== 'json') { + $this->clientError('This method currently only serves JSON.', 415); + } + $this->url = urldecode($args['url']); if (empty($this->url)) { - $this->clientError(_('No URL.'), 403, 'json'); - return; + $this->clientError(_('No URL.'), 403); } if (!common_valid_http_url($this->url)) { - $this->clientError(_('Invalid URL.'), 403, 'json'); - return; + $this->clientError(_('Invalid URL.'), 403); } return true; @@ -67,23 +71,22 @@ class ApiCheckHubAction extends ApiAuthAction * * @return void */ - function handle($args) + protected function handle() { + parent::handle(); - $discover = new FeedDiscovery(); + $discover = new FeedDiscovery(); - try { - $feeduri = $discover->discoverFromURL($this->url); - if($feeduri) { - $huburi = $discover->getHubLink(); - } - } catch (FeedSubNoFeedException $e) { - $this->clientError(_('No feed found'), 403, 'json'); - return; - } catch (FeedSubBadResponseException $e) { - $this->clientError(_('No hub found'), 403, 'json'); - return; - } + try { + $feeduri = $discover->discoverFromURL($this->url); + if($feeduri) { + $huburi = $discover->getHubLink(); + } + } catch (FeedSubNoFeedException $e) { + $this->clientError(_('No feed found'), 403); + } catch (FeedSubBadResponseException $e) { + $this->clientError(_('No hub found'), 403); + } $hub_status = array(); if ($huburi) {