Start work on endpoints - at this point just validating urls
This commit is contained in:
1 parent
f85c48b4a9
commit
15d03799bf
2 files changed
+41
No files matched your search
@@ -6,4 +6,29 @@ use Lewisdale\Webmentions\Gateways\WebmentionGatewayInterface;
|
||||
|
||||
class Endpoint {
|
||||
private readonly WebmentionGatewayInterface $gateway;
|
||||
|
||||
public function validateUrl(string $url) : bool {
|
||||
return !!filter_var($url, FILTER_VALIDATE_URL);
|
||||
}
|
||||
|
||||
public function receiveWebmention(string $source, string $target) : void
|
||||
{
|
||||
// Validate that both source and target are actual domains
|
||||
if (!$this->validateUrl($source) || !$this->validateUrl($target))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Validate that the webmention target is a domain I care about
|
||||
if (!str_contains($target, "https://lewisdale.dev")) {
|
||||
// Should throw a Bad Request error
|
||||
return;
|
||||
}
|
||||
|
||||
// Parse content from the source
|
||||
|
||||
// Store the webmention
|
||||
|
||||
// Send the appropriate response
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user