From bb2525f9803259349e28797be7e6d93f931a3132 Mon Sep 17 00:00:00 2001 From: Baptiste Langlade Date: Wed, 30 Jul 2025 17:16:57 +0200 Subject: [PATCH] use innmind/static-analysis --- composer.json | 5 +++-- src/Exception/LogicException.php | 2 +- src/Manager/Native.php | 13 ++++++++++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index c9f3dbf..2df0bfb 100644 --- a/composer.json +++ b/composer.json @@ -17,7 +17,8 @@ "require": { "php": "~8.2", "innmind/immutable": "~4.9|~5.0", - "innmind/http": "~7.0" + "innmind/http": "~7.0", + "innmind/validation": "~1.0" }, "autoload": { "psr-4": { @@ -32,7 +33,7 @@ }, "require-dev": { "innmind/black-box": "^6.4.1", - "vimeo/psalm": "~5.12", + "innmind/static-analysis": "^1.2.1", "innmind/coding-standard": "~2.0" } } diff --git a/src/Exception/LogicException.php b/src/Exception/LogicException.php index 38f58ce..3fc5315 100644 --- a/src/Exception/LogicException.php +++ b/src/Exception/LogicException.php @@ -3,6 +3,6 @@ namespace Innmind\HttpSession\Exception; -class LogicException extends \LogicException implements Exception +final class LogicException extends \LogicException implements Exception { } diff --git a/src/Manager/Native.php b/src/Manager/Native.php index 0f2e6c9..cec1dfe 100644 --- a/src/Manager/Native.php +++ b/src/Manager/Native.php @@ -14,6 +14,7 @@ Header\Cookie, Header\CookieValue, }; +use Innmind\Validation\Is; use Innmind\Url\Path; use Innmind\Immutable\{ Map, @@ -38,6 +39,7 @@ public static function of(?Path $save = null): self return new self($save); } + #[\Override] public function start(ServerRequest $request): Maybe { if ($this->session instanceof Id) { @@ -63,7 +65,14 @@ public function start(ServerRequest $request): Maybe $values = ($values)($key, $value); } - return Maybe::all(Id::maybe(\session_id()), Name::maybe(\session_name())) + return Maybe::all( + Maybe::just(\session_id()) + ->keep(Is::string()->asPredicate()) + ->flatMap(Id::maybe(...)), + Maybe::just(\session_name()) + ->keep(Is::string()->asPredicate()) + ->flatMap(Name::maybe(...)), + ) ->map(static fn(Id $id, Name $name) => Session::of($id, $name, $values)) ->map(function($session) { $this->session = $session->id(); @@ -72,6 +81,7 @@ public function start(ServerRequest $request): Maybe }); } + #[\Override] public function save(Session $session): Maybe { if ($this->session !== $session->id()) { @@ -97,6 +107,7 @@ public function save(Session $session): Maybe return Maybe::just(new SideEffect); } + #[\Override] public function close(Session $session): Maybe { if ($this->session !== $session->id()) {