Skip to content

Commit 8bd205e

Browse files
committed
wip
1 parent 5a43f69 commit 8bd205e

File tree

7 files changed

+40
-42
lines changed

7 files changed

+40
-42
lines changed

packages/router/src/Static/Exceptions/DeadLinksDetectedGenerationFailed.php renamed to packages/router/src/Static/Exceptions/DeadLinksDetectedException.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
namespace Tempest\Router\Static\Exceptions;
44

5-
final class DeadLinksDetectedGenerationFailed extends StaticPageGenerationFailed
5+
use Exception;
6+
7+
final class DeadLinksDetectedException extends Exception implements StaticPageException
68
{
79
public function __construct(
8-
string $uri,
10+
public readonly string $uri,
911
public readonly array $links,
1012
) {
11-
parent::__construct(sprintf('%s has %s dead links', $uri, count($links)), $uri);
13+
parent::__construct(sprintf('%s has %s dead links', $uri, count($links)));
1214
}
1315
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
namespace Tempest\Router\Static\Exceptions;
4+
5+
use Exception;
6+
use Tempest\Http\Status;
7+
8+
final class InvalidStatusCodeException extends Exception implements StaticPageException
9+
{
10+
public function __construct(
11+
public readonly string $uri,
12+
public readonly Status $status,
13+
) {
14+
parent::__construct("HTTP {$status->value}");
15+
}
16+
}

packages/router/src/Static/Exceptions/InvalidStatusCodeGenerationFailed.php

Lines changed: 0 additions & 15 deletions
This file was deleted.

packages/router/src/Static/Exceptions/StaticPageGenerationFailed.php renamed to packages/router/src/Static/Exceptions/NoTextualBodyException.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@
44

55
use Exception;
66

7-
abstract class StaticPageGenerationFailed extends Exception
7+
final class NoTextualBodyException extends Exception implements StaticPageException
88
{
99
public function __construct(
10-
string $message,
1110
public readonly string $uri,
1211
) {
13-
parent::__construct($message);
12+
parent::__construct('No textual body');
1413
}
1514
}

packages/router/src/Static/Exceptions/NoTextualBodyGenerationFailed.php

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
3+
namespace Tempest\Router\Static\Exceptions;
4+
5+
interface StaticPageException
6+
{
7+
public string $uri { get; }
8+
}

packages/router/src/Static/StaticGenerateCommand.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
use Tempest\Router\DataProvider;
2222
use Tempest\Router\RouteConfig;
2323
use Tempest\Router\Router;
24-
use Tempest\Router\Static\Exceptions\DeadLinksDetectedGenerationFailed;
25-
use Tempest\Router\Static\Exceptions\InvalidStatusCodeGenerationFailed;
26-
use Tempest\Router\Static\Exceptions\NoTextualBodyGenerationFailed;
24+
use Tempest\Router\Static\Exceptions\DeadLinksDetectedException;
25+
use Tempest\Router\Static\Exceptions\InvalidStatusCodeException;
26+
use Tempest\Router\Static\Exceptions\NoTextualBodyException;
2727
use Tempest\Support\Arr;
2828
use Tempest\Support\Regex;
2929
use Tempest\Support\Str;
@@ -81,15 +81,15 @@ public function __invoke(
8181
$failures++;
8282

8383
match (true) {
84-
$event->exception instanceof DeadLinksDetectedGenerationFailed => $this->keyValue(
84+
$event->exception instanceof DeadLinksDetectedException => $this->keyValue(
8585
"<style='fg-gray'>{$event->path}</style>",
8686
sprintf("<style='fg-red'>%s DEAD %s</style>", count($event->exception->links), Intl\pluralize('LINK', count($event->exception->links))),
8787
),
88-
$event->exception instanceof InvalidStatusCodeGenerationFailed => $this->keyValue(
88+
$event->exception instanceof InvalidStatusCodeException => $this->keyValue(
8989
"<style='fg-gray'>{$event->path}</style>",
9090
"<style='fg-red'>HTTP {$event->exception->status->value}</style>",
9191
),
92-
$event->exception instanceof NoTextualBodyGenerationFailed => $this->keyValue(
92+
$event->exception instanceof NoTextualBodyException => $this->keyValue(
9393
"<style='fg-gray'>{$event->path}</style>",
9494
"<style='fg-red'>NO CONTENT</style>",
9595
),
@@ -130,7 +130,7 @@ public function __invoke(
130130
);
131131

132132
if ($response->status !== Status::OK) {
133-
throw new InvalidStatusCodeGenerationFailed($uri, $response->status);
133+
throw new InvalidStatusCodeException($uri, $response->status);
134134
}
135135

136136
$body = $response->body;
@@ -140,7 +140,7 @@ public function __invoke(
140140
: $body;
141141

142142
if (! is_string($content)) {
143-
throw new NoTextualBodyGenerationFailed($uri);
143+
throw new NoTextualBodyException($uri);
144144
}
145145

146146
$directory = $file->dirname();
@@ -151,7 +151,7 @@ public function __invoke(
151151

152152
if (! $allowDeadLinks && count($links = $this->detectDeadLinks($uri, $content, checkExternal: ! $allowExternalDeadLinks)) > 0) {
153153
$deadlinks[$uri] = $links;
154-
throw new DeadLinksDetectedGenerationFailed($uri, $links);
154+
throw new DeadLinksDetectedException($uri, $links);
155155
}
156156

157157
file_put_contents($file->toString(), $content);

0 commit comments

Comments
 (0)