Bit of work to set things up

This commit is contained in:
Lewis Dale 2023-03-14 21:08:33 +00:00
parent 811f63a207
commit a5e0902366
4 changed files with 30 additions and 22 deletions

2
.gitignore vendored
View File

@ -1 +1,3 @@
/vendor/ /vendor/
/.phpunit.result.cache
.idea

View File

@ -11,13 +11,12 @@ use Lewisdale\Webmentions\Router\Response;
use Lewisdale\Webmentions\Router\StatusCode; use Lewisdale\Webmentions\Router\StatusCode;
use Lewisdale\Webmentions\Webmention; use Lewisdale\Webmentions\Webmention;
$mentioner = new Webmention();
$router = new Router(); $router = new Router();
$router->post("/send", function(Request $req, Response $response) use ($webmention) { $router->post("/send", function(Request $req, Response $response) {
$source = $req->query["source"]; $mentioner = new Webmention();
$webmention->sendForPage($source); $source = $req->query["source"];
$mentioner->sendForPage($source);
}); });
$router->post("/endpoint", function(Request $req, Response $response) { $router->post("/endpoint", function(Request $req, Response $response) {
@ -39,6 +38,5 @@ $router->post("/endpoint", function(Request $req, Response $response) {
$response->status_code = StatusCode::Created; $response->status_code = StatusCode::Created;
}); });
$router->dispatch(); $router->get('/', fn($req, $res) => "<h1>Webmention server</h1>");
$router->dispatch();
?>

View File

@ -112,7 +112,7 @@ class Endpoint {
{ {
$card = $document->filter('.p-author.h-card')->eq(0); $card = $document->filter('.p-author.h-card')->eq(0);
if ($card) if ($card->count())
{ {
$name = $card->filter('.p-name')?->text(""); $name = $card->filter('.p-name')?->text("");
$url = $card->filter('.u-url')?->text(""); $url = $card->filter('.u-url')?->text("");

View File

@ -119,9 +119,11 @@ class EndpointTest extends TestCase {
<head> <head>
</head> </head>
<body> <body>
<h1>Some content</h1> <article>
<p>Here's some body content. It <a href="/another/page">contains a url</a>.</p> <h1>Some content</h1>
<p>I'm liking <a href="$target" class="u-like-of">this post</a>.</p> <p>Here's some body content. It <a href="/another/page">contains a url</a>.</p>
<p>I'm liking <a href="$target" class="u-like-of">this post</a>.</p>
</article>
</body> </body>
</html> </html>
XML; XML;
@ -160,9 +162,11 @@ class EndpointTest extends TestCase {
<head> <head>
</head> </head>
<body> <body>
<h1>Some content</h1> <article class="h-entry">
<p>Here's some body content. It <a href="/another/page">contains a url</a>.</p> <h1>Some content</h1>
<p>I'm writing about <a href="$target" class="my-link">this post</a>.</p> <p>Here's some body content. It <a href="/another/page">contains a url</a>.</p>
<p>I'm writing about <a href="$target" class="my-link">this post</a>.</p>
</article>
</body> </body>
</html> </html>
XML; XML;
@ -200,9 +204,11 @@ class EndpointTest extends TestCase {
<head> <head>
</head> </head>
<body> <body>
<h1>Some content</h1> <article class="h-entry">
<p>Here's some body content. It <a href="/another/page">contains a url</a>.</p> <h1>Some content</h1>
<p>I'm writing about <a href="$target" class="u-in-reply-to">this post</a>.</p> <p>Here's some body content. It <a href="/another/page">contains a url</a>.</p>
<p>I'm writing about <a href="$target" class="u-in-reply-to">this post</a>.</p>
</article>
</body> </body>
</html> </html>
XML; XML;
@ -240,9 +246,11 @@ class EndpointTest extends TestCase {
<head> <head>
</head> </head>
<body> <body>
<h1>Some content</h1> <article="h-entry">
<p>Here's some body content. It <a href="/another/page">contains a url</a>.</p> <h1>Some content</h1>
<p>I'm writing about <a href="$target" class="u-repost-of">this post</a>.</p> <p>Here's some body content. It <a href="/another/page">contains a url</a>.</p>
<p>I'm writing about <a href="$target" class="u-repost-of">this post</a>.</p>
</article>
</body> </body>
</html> </html>
XML; XML;
@ -265,7 +273,7 @@ class EndpointTest extends TestCase {
$mockGateway->expects($this->once()) $mockGateway->expects($this->once())
->method('save') ->method('save')
->with($this->objectContains('type', MentionType::Repost)); ->with($this->objectContains('type', MentionType::Repost));
$endpoint = new Endpoint($mockClient, $mockGateway); $endpoint = new Endpoint($mockClient, $mockGateway);
$endpoint->receiveWebmention($source, $target); $endpoint->receiveWebmention($source, $target);
} }