diff --git a/app/appConf/routes.php b/app/appConf/routes.php index 85a3d5ca..2e3bc8e1 100644 --- a/app/appConf/routes.php +++ b/app/appConf/routes.php @@ -19,7 +19,8 @@ use const Aviat\AnimeClient\{ DEFAULT_CONTROLLER, DEFAULT_CONTROLLER_METHOD, NUM_PATTERN, - SLUG_PATTERN + SLUG_PATTERN, + SLUG_SPACE_PATTERN, }; // ------------------------------------------------------------------------- @@ -291,7 +292,7 @@ $routes = [ 'action' => 'edit', 'tokens' => [ 'id' => SLUG_PATTERN, - 'status' => '([a-zA-Z\-_]|%20)+', + 'status' => SLUG_SPACE_PATTERN, ], ], 'list' => [ diff --git a/src/AnimeClient/API/APIRequestBuilder.php b/src/AnimeClient/API/APIRequestBuilder.php index f41e67c1..3e194206 100644 --- a/src/AnimeClient/API/APIRequestBuilder.php +++ b/src/AnimeClient/API/APIRequestBuilder.php @@ -14,8 +14,10 @@ namespace Aviat\AnimeClient\API; +// use Amp\Http\Client\Form; use Amp\Http\Client\Body\FormBody; - +use Amp\Http\Client\HttpClientBuilder; +use Amp\Http\Client\HttpException; use Amp\Http\Client\Request; use Aviat\Ion\Json; @@ -203,18 +205,15 @@ abstract class APIRequestBuilder { $this->buildUri(); - if ($this->logger !== NULL) - { - $this->logger->debug('API Request', [ - 'request_url' => $this->request->getUri(), - 'request_headers' => $this->request->getHeaders(), - 'request_body' => wait( - $this->request->getBody() - ->createBodyStream() - ->read() - ), - ]); - } + $this->logger?->debug('API Request', [ + 'request_url' => $this->request->getUri(), + 'request_headers' => $this->request->getHeaders(), + 'request_body' => wait( + $this->request->getBody() + ->createBodyStream() + ->read() + ), + ]); return $this->request; } @@ -222,12 +221,11 @@ abstract class APIRequestBuilder /** * Get the data from the response of the passed request * - * @throws Error - * @throws Throwable - * @throws TypeError + * @param Request $request * @return mixed + * @throws Throwable */ - public function getResponseData(Request $request) + public function getResponseData(Request $request): mixed { $response = getResponse($request); diff --git a/src/AnimeClient/constants.php b/src/AnimeClient/constants.php index 07f6ddc9..f47f9a0f 100644 --- a/src/AnimeClient/constants.php +++ b/src/AnimeClient/constants.php @@ -28,6 +28,7 @@ const USER_AGENT = "Tim's Anime Client/5.2"; const ALPHA_SLUG_PATTERN = '[a-z_]+'; const NUM_PATTERN = '[0-9]+'; const SLUG_PATTERN = '[a-z0-9\-]+'; +const SLUG_SPACE_PATTERN = '[a-zA-Z_\- ]+'; // Why doesn't this already exist? const MILLI_FROM_NANO = 1000 * 1000; diff --git a/src/Ion/Type/Stringy.php b/src/Ion/Type/Stringy.php index 147f6435..8e4c40a6 100644 --- a/src/Ion/Type/Stringy.php +++ b/src/Ion/Type/Stringy.php @@ -2122,7 +2122,7 @@ abstract class Stringy implements Countable, IteratorAggregate, ArrayAccess * Alias for mb_regex_encoding which default to a noop if the mbstring * module is not installed. */ - protected function regexEncoding(): mixed + protected function regexEncoding(): string|bool|null { static $functionExists; @@ -2137,6 +2137,8 @@ abstract class Stringy implements Countable, IteratorAggregate, ArrayAccess return mb_regex_encoding(...$args); } + + return null; } protected function supportsEncoding(): bool|null