fix service discovery (I think)

darcs-hash:20080603114317-84dde-04fe2734003fa8023708b6dbda6243d9fd15e9d8.gz
This commit is contained in:
Evan Prodromou 2008-06-03 07:43:17 -04:00
parent 38b5ad6fd6
commit 3182984080
2 changed files with 7 additions and 3 deletions

View File

@ -131,7 +131,7 @@ class RemotesubscribeAction extends Action {
common_debug('remotesubscribe.php - looking for oauth discovery service'); common_debug('remotesubscribe.php - looking for oauth discovery service');
$oauth_services = $xrds->services(omb_service_filter(OAUTH_DISCOVERY)); $oauth_services = omb_get_services($xrds, OAUTH_DISCOVERY);
if (!$oauth_services) { if (!$oauth_services) {
common_debug('remotesubscribe.php - failed to find oauth discovery service'); common_debug('remotesubscribe.php - failed to find oauth discovery service');
@ -158,7 +158,7 @@ class RemotesubscribeAction extends Action {
common_debug('remotesubscribe.php - looking for OMB discovery service'); common_debug('remotesubscribe.php - looking for OMB discovery service');
$omb_services = $xrds->services(omb_service_filter(OMB_NAMESPACE)); $omb_services = omb_get_services($xrds, OMB_NAMESPACE);
if (!$omb_services) { if (!$omb_services) {
common_debug('remotesubscribe.php - failed to find OMB discovery service'); common_debug('remotesubscribe.php - failed to find OMB discovery service');
@ -224,7 +224,7 @@ class RemotesubscribeAction extends Action {
function addServices($xrd, $types, &$omb) { function addServices($xrd, $types, &$omb) {
foreach ($types as $type) { foreach ($types as $type) {
$matches = $xrd->services(omb_service_filter($type)); $matches = omb_get_services($xrd, $type);
common_debug('remotesubscribe.php - ' . count($matches) . ' matches for "'.$type.'"'); common_debug('remotesubscribe.php - ' . count($matches) . ' matches for "'.$type.'"');
if ($matches) { if ($matches) {
foreach ($matches as $match) { foreach ($matches as $match) {

View File

@ -66,6 +66,10 @@ function omb_hmac_sha1() {
return $hmac_method; return $hmac_method;
} }
function omb_get_services($xrd, $type) {
return $xrd->services(array(omb_service_filter($type)));
}
function omb_service_filter($type) { function omb_service_filter($type) {
return create_function('$s', return create_function('$s',
'return omb_match_service($s, \''.$type.'\');'); 'return omb_match_service($s, \''.$type.'\');');