Fix issue discovering webmentions endpoints for some sites
The Guzzle provided Header::parse does not like commas in URLs
This commit is contained in:
parent
acbb58c294
commit
659bc57e24
2 changed files with 3 additions and 2 deletions
|
@ -76,7 +76,7 @@ class SendWebMentions implements ShouldQueue
|
||||||
//check HTTP Headers for webmention endpoint
|
//check HTTP Headers for webmention endpoint
|
||||||
$links = Header::parse($response->getHeader('Link'));
|
$links = Header::parse($response->getHeader('Link'));
|
||||||
foreach ($links as $link) {
|
foreach ($links as $link) {
|
||||||
if (mb_stristr($link['rel'], 'webmention')) {
|
if (array_key_exists('rel', $link) && mb_stristr($link['rel'], 'webmention')) {
|
||||||
return $this->resolveUri(trim($link[0], '<>'), $url);
|
return $this->resolveUri(trim($link[0], '<>'), $url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,7 +114,8 @@ class SendWebMentionJobTest extends TestCase
|
||||||
public function linksInNotesCanNotSupportWebmentions(): void
|
public function linksInNotesCanNotSupportWebmentions(): void
|
||||||
{
|
{
|
||||||
$mock = new MockHandler([
|
$mock = new MockHandler([
|
||||||
new Response(200),
|
// URLs with commas currently break the parse function I’m using
|
||||||
|
new Response(200, ['Link' => '<https://example.org/foo,bar>; rel="preconnect"']),
|
||||||
]);
|
]);
|
||||||
$handler = HandlerStack::create($mock);
|
$handler = HandlerStack::create($mock);
|
||||||
$client = new Client(['handler' => $handler]);
|
$client = new Client(['handler' => $handler]);
|
||||||
|
|
Loading…
Add table
Reference in a new issue