summaryrefslogtreecommitdiff
path: root/src/Concerns
diff options
context:
space:
mode:
authorSam Light <sam@lightscale.co.uk>2026-06-10 19:00:33 +0100
committerSam Light <sam@lightscale.co.uk>2026-06-10 19:00:33 +0100
commit7144cad2df09b68a7359955242aabef746a826b3 (patch)
tree8d53162bb19aba1e49f1cdbfb224992152841b2c /src/Concerns
parentfdb23965a0daf06e85de4fc11a83e5f96656cc81 (diff)
Setup structure for storing middleware and added test todos
Diffstat (limited to 'src/Concerns')
-rw-r--r--src/Concerns/CreatesGroups.php13
-rw-r--r--src/Concerns/HasMiddleware.php7
2 files changed, 20 insertions, 0 deletions
diff --git a/src/Concerns/CreatesGroups.php b/src/Concerns/CreatesGroups.php
index e6e4588..4a2b862 100644
--- a/src/Concerns/CreatesGroups.php
+++ b/src/Concerns/CreatesGroups.php
@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace Lightscale\Router\Concerns;
+use Lightscale\Router\Contracts\Middleware;
use Lightscale\Router\Group;
trait CreatesGroups
@@ -25,4 +26,16 @@ trait CreatesGroups
name: $value,
);
}
+
+ /** @param Middleware|Middleware[] $value */
+ public function middleware(Middleware|array $value): Group
+ {
+ $value = is_array($value) ? $value : [$value];
+
+ return new Group(
+ router: $this->getRouter(),
+ parent: $this->getGroup(),
+ middleware: $value,
+ );
+ }
}
diff --git a/src/Concerns/HasMiddleware.php b/src/Concerns/HasMiddleware.php
index e0c6b1a..ccde485 100644
--- a/src/Concerns/HasMiddleware.php
+++ b/src/Concerns/HasMiddleware.php
@@ -19,6 +19,13 @@ trait HasMiddleware
...$this->middleware,
...$middleware,
];
+
return $this;
}
+
+ /** @return Middleware[] */
+ public function getMiddleware(): array
+ {
+ return $this->middleware;
+ }
}