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) {