From 62e02a4769fa31aa9adf4c9d268b33dba1bc6a64 Mon Sep 17 00:00:00 2001 From: Aaron Parecki Date: Thu, 5 Dec 2019 23:41:24 +0000 Subject: [PATCH] add debug messages --- lib/Telegraph/Webmention.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/lib/Telegraph/Webmention.php b/lib/Telegraph/Webmention.php index 0d60f39..454deba 100644 --- a/lib/Telegraph/Webmention.php +++ b/lib/Telegraph/Webmention.php @@ -60,6 +60,7 @@ class Webmention { $payload['http_body'] = $raw; } + echo "Sending result to callback URL: $webmention->callback\n"; return self::$http->post($webmention->callback, $payload); } } @@ -72,6 +73,8 @@ class Webmention { echo 'Webmention '.$id.' was not found'."\n"; return; } + + echo "Processing webmention $id from ".$webmention->source."\n"; if(!$client) $client = new MentionClient(); @@ -81,25 +84,35 @@ class Webmention { self::$http = $http; + echo "Finding webmention endpoint for $webmention->target\n"; + // Discover the webmention or pingback endpoint $endpoint = $client->discoverWebmentionEndpoint($webmention->target); if(!$endpoint) { + echo "No webmention endpoint, checking for pingback\n"; + // If no webmention endpoint found, try to send a pingback $pingbackEndpoint = $client->discoverPingbackEndpoint($webmention->target); // If no pingback endpoint was found, we can't do anything else if(!$pingbackEndpoint) { + echo "No webmention or pingback endpoint found\n"; return self::updateStatus($webmention, null, 'not_supported'); } + echo "Found pingback endpoint $pingbackEndpoint\n"; $webmention->pingback_endpoint = $pingbackEndpoint; $webmention->save(); - + + echo "Sending pingback now...\n"; $success = $client->sendPingbackToEndpoint($pingbackEndpoint, $webmention->source, $webmention->target); + echo "Result: ".($success?'accepted':'error')."\n"; return self::updateStatus($webmention, null, ($success ? 'accepted' : 'error')); } + echo "Found webmention endpoint $endpoint\n"; + // There is a webmention endpoint, send the webmention now $webmention->webmention_endpoint = $endpoint; @@ -114,8 +127,13 @@ class Webmention { if($webmention->vouch) { $params['vouch'] = $webmention->vouch; } + + echo "Sending webmention now...\n"; + $response = $client->sendWebmentionToEndpoint($endpoint, $webmention->source, $webmention->target, $params); + echo "Response code: ".$response['code']."\n"; + if(in_array($response['code'], [200,201,202])) { $status = 'accepted'; @@ -124,6 +142,7 @@ class Webmention { // Check if the endpoint returned a status URL if(array_key_exists('Location', $response['headers'])) { $webmention->webmention_status_url = \Mf2\resolveUrl($endpoint, $response['headers']['Location']); + echo "Endpoint returned a status URL: ".$webmention->webmention_status_url."\n"; // TODO: queue a job to poll the endpoint for updates and deliver to the callback URL } else { // No status URL was returned, so we can't follow up with this later. Mark as complete. @@ -138,6 +157,7 @@ class Webmention { $webmention->save(); $result = self::updateStatus($webmention, $response['code'], $status, $response['body']); + echo "Done\n"; $pdo = ORM::get_db(); $pdo = null; return $result;