From 3b9f0e3867f98c1022654ca22ba155369600bddc Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 2 Jun 2008 14:12:54 -0400 Subject: [PATCH] add some debugging stuff for problems with remote subscribe darcs-hash:20080602181254-84dde-ac7f4a362754a66facfb06a7b41f9160a0eb5caf.gz --- actions/remotesubscribe.php | 36 ++++++++++++++++++++++++++++++++++-- lib/omb.php | 3 +++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/actions/remotesubscribe.php b/actions/remotesubscribe.php index c2c633c16a..f454a14007 100644 --- a/actions/remotesubscribe.php +++ b/actions/remotesubscribe.php @@ -129,23 +129,55 @@ class RemotesubscribeAction extends Action { # XXX: the following code could probably be refactored to eliminate dupes + common_debug('remotesubscribe.php - looking for oauth discovery service'); + $oauth_service = $xrds->services(omb_service_filter(OAUTH_DISCOVERY)); if (!$oauth_service) { + common_debug('remotesubscribe.php - failed to find oauth discovery service'); return NULL; } + common_debug('remotesubscribe.php - looking for oauth discovery XRD'); + $xrd = $this->getXRD($oauth_service, $xrds); - $this->addServices($xrd, $oauth_endpoints, $omb); + + if (!$xrd) { + common_debug('remotesubscribe.php - failed to find oauth discovery XRD'); + return NULL; + } + + common_debug('remotesubscribe.php - adding OAuth services from XRD'); + + if (!$this->addServices($xrd, $oauth_endpoints, $omb)) { + common_debug('remotesubscribe.php - failed to add OAuth services'); + return NULL; + } + common_debug('remotesubscribe.php - looking for OMB discovery service'); + $omb_service = $xrds->services(omb_service_filter(OMB_NAMESPACE)); if (!$omb_service) { + common_debug('remotesubscribe.php - failed to find OMB discovery service'); return NULL; } + common_debug('remotesubscribe.php - looking for OMB discovery XRD'); + $xrd = $this->getXRD($omb_service, $xrds); - $this->addServices($xrd, $omb_endpoints, $omb); + + if (!$xrd) { + common_debug('remotesubscribe.php - failed to find OMB discovery XRD'); + return NULL; + } + + common_debug('remotesubscribe.php - adding OMB services from XRD'); + + if (!$this->addServices($xrd, $omb_endpoints, $omb)) { + common_debug('remotesubscribe.php - failed to add OMB services'); + return NULL; + } # XXX: check that we got all the services we needed diff --git a/lib/omb.php b/lib/omb.php index 5f31de42c1..ae7531ce8e 100644 --- a/lib/omb.php +++ b/lib/omb.php @@ -75,6 +75,9 @@ function omb_match_service($service, $type) { } function omb_service_uri($service) { + if (!$service) { + return NULL; + } $uris = $service->getURIs(); if (!$uris) { return NULL;