Compare commits
3 Commits
9ee7033474
...
f2e68a1d35
| Author | SHA1 | Date | |
|---|---|---|---|
| f2e68a1d35 | |||
| 49e9291214 | |||
| 584edce5d6 |
@@ -4,6 +4,7 @@ namespace KTXC\Routing;
|
|||||||
|
|
||||||
use DI\Attribute\Inject;
|
use DI\Attribute\Inject;
|
||||||
use KTXC\Http\Request\Request;
|
use KTXC\Http\Request\Request;
|
||||||
|
use KTXC\Http\Request\RequestInputParameters;
|
||||||
use KTXC\Http\Response\Response;
|
use KTXC\Http\Response\Response;
|
||||||
use KTXC\Injection\Container;
|
use KTXC\Injection\Container;
|
||||||
use KTXC\Module\ModuleManager;
|
use KTXC\Module\ModuleManager;
|
||||||
@@ -207,7 +208,8 @@ class Router
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Dispatch a matched route meta and return a Response (or null if controller does not return one).
|
* Dispatch a matched route meta and return a Response (or null if controller does not return one).
|
||||||
* Performs light argument resolution: Request object, route params, body fields, full body for array params.
|
* Performs light argument resolution: Request object, route params, body fields, query params, full body for array params.
|
||||||
|
* Precedence on name collision: route params > body fields > query params > parameter default.
|
||||||
*/
|
*/
|
||||||
public function dispatch(Route $route, Request $request): ?Response
|
public function dispatch(Route $route, Request $request): ?Response
|
||||||
{
|
{
|
||||||
@@ -224,7 +226,8 @@ class Router
|
|||||||
try {
|
try {
|
||||||
$requestParameters = $request->getPayload();
|
$requestParameters = $request->getPayload();
|
||||||
} catch (\Throwable) {
|
} catch (\Throwable) {
|
||||||
// ignore payload errors
|
// ignore payload errors, fall back to an empty parameter bag
|
||||||
|
$requestParameters = new RequestInputParameters([]);
|
||||||
}
|
}
|
||||||
$reflectionMethod = new \ReflectionMethod($routeControllerName, $routeControllerMethod);
|
$reflectionMethod = new \ReflectionMethod($routeControllerName, $routeControllerMethod);
|
||||||
$routeParams = $route->params ?? [];
|
$routeParams = $route->params ?? [];
|
||||||
@@ -258,6 +261,11 @@ class Router
|
|||||||
$callArgs[] = $requestParameters->get($reflectionParameterName);
|
$callArgs[] = $requestParameters->get($reflectionParameterName);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// if method parameter matches a query string param, use that
|
||||||
|
if ($request->query->has($reflectionParameterName)) {
|
||||||
|
$callArgs[] = $request->query->get($reflectionParameterName);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
// if method parameter did not match, but has a default value, use that
|
// if method parameter did not match, but has a default value, use that
|
||||||
if ($reflectionParameter->isDefaultValueAvailable()) {
|
if ($reflectionParameter->isDefaultValueAvailable()) {
|
||||||
$callArgs[] = $reflectionParameter->getDefaultValue();
|
$callArgs[] = $reflectionParameter->getDefaultValue();
|
||||||
|
|||||||
@@ -155,6 +155,13 @@ class AuthenticationManager
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($session->userIdentifier === null && $session->userIdentity) {
|
||||||
|
$user = $this->userService->fetchByIdentity($session->userIdentity);
|
||||||
|
if ($user) {
|
||||||
|
$session->userIdentifier = $user->getId();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Build provider context
|
// Build provider context
|
||||||
$context = $this->buildProviderContext($session, $method);
|
$context = $this->buildProviderContext($session, $method);
|
||||||
|
|
||||||
|
|||||||
Generated
+3
-3
@@ -6601,9 +6601,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vuetify": {
|
"node_modules/vuetify": {
|
||||||
"version": "4.1.4",
|
"version": "4.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-4.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-4.1.5.tgz",
|
||||||
"integrity": "sha512-8/H0Yl6h9t07/ExuyZFIRJqAenpKeCiVaRJzbHGfTtuZRZIs5EbtjdFYikPIu6h9thBJAx15PrU4ofa4LvdJag==",
|
"integrity": "sha512-cR3XMzWbVll9wSdarhH7asT27zm23rMNM5dQ9pMGwTPGwEm0km8mY6ERJAGHIa/nMw0pYXWHjf1O9qJ/0PtZCQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
"type": "github",
|
"type": "github",
|
||||||
|
|||||||
Reference in New Issue
Block a user