Skip to content

Commit b3217a1

Browse files
committed
Psalm fixes.
1 parent 74c957d commit b3217a1

File tree

8 files changed

+53
-7
lines changed

8 files changed

+53
-7
lines changed

ControllersMiddleware/CsrfMiddleware.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ public function __construct(CsrfTokenManagerInterface $csrfTokenManager)
3939
*/
4040
public function handle(Request $request): ?Response
4141
{
42-
$typeRequest = $request->server->get('REQUEST_METHOD');
43-
$token = $request->query->get('csrf_token');
42+
$typeRequest = (string)$request->server->get('REQUEST_METHOD', '');
43+
$token = (string)$request->query->get('csrf_token');
4444

4545
if ($typeRequest !== 'GET') {
46-
$token = $request->request->get('csrf_token');
46+
$token = (string)$request->request->get('csrf_token');
4747
}
4848

4949
$bValidToken = $this->csrfTokenManager->isTokenValid(

ControllersMiddleware/StaticFileMiddleware.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ private function getRequestTarget(Request $request) : string
102102

103103
if ($request->getQueryString()) {
104104
$target = $request->getQueryString();
105-
parse_str($target, $result);
105+
parse_str((string)$target, $result);
106106
$target = (string)$result['file'];
107107
}
108108

DependencyInjection/CompilerPass/ControllerMiddlewarePass.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ public function process(ContainerBuilder $container): void
2222
{
2323
$def = $container->getDefinition(MiddlewareServiceLocator::class);
2424

25+
/**
26+
* @psalm-suppress MixedAssignment
27+
*/
2528
foreach ($container->findTaggedServiceIds(MiddlewareEnum::CONTROLLER_TAG) as $id => $attributes) {
2629
if (empty($attributes)) {
2730
throw new \InvalidArgumentException('Provide at least "middleware" attribute');

DependencyInjection/CompilerPass/RouteMiddlewarePass.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ public function process(ContainerBuilder $container): void
2424

2525
$def->addMethodCall('addRouteMiddlewares', [new Reference('router.default')]);
2626

27+
/**
28+
* @var string $id
29+
*/
2730
foreach ($container->findTaggedServiceIds(MiddlewareEnum::ALIAS_SUFFIX) as $id => $arguments) {
2831
$container->setAlias($id . MiddlewareEnum::ALIAS_SUFFIX, $id)->setPublic(true);
2932
}

Middleware/MiddlewareFacade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public function getMiddlewaresToHandle(ControllerMetadata $controllerMetadata, R
7676
$controllerMetadata->getControllerFqcn()
7777
);
7878

79-
$routeMiddlewares = $this->middlewareServiceLocator->getRouteMiddlewares($request->get('_route', ''));
79+
$routeMiddlewares = $this->middlewareServiceLocator->getRouteMiddlewares((string)$request->get('_route', ''));
8080

8181
return $this->middlewareMerger->merge(
8282
$globalMiddlewares,

ServiceLocator/MiddlewareServiceLocator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public function addRouteMiddlewares($routeCollection): void
143143
/**
144144
* @param string $route_name
145145
*
146-
* @return MiddlewareInterface[]
146+
* @return array
147147
*/
148148
public function getRouteMiddlewares(string $route_name): array
149149
{

composer.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
"symfony/security-csrf": "^4.0 || ^5.0",
3636
"symfony/event-dispatcher": "^4.0 || ^5.0",
3737
"proklung/base-exception": "^1.0"
38-
38+
},
39+
"require-dev": {
40+
"proklung/phpunit-testing-tools": "^1.0"
3941
}
4042
}

psalm.xml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0"?>
2+
<psalm
3+
errorLevel="1"
4+
resolveFromConfigFile="true"
5+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6+
xmlns="https://getpsalm.org/schema/config"
7+
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
8+
allowStringToStandInForClass="true"
9+
allowCoercionFromStringToClassConst="true"
10+
findUnusedPsalmSuppress="true"
11+
skipChecksOnUnresolvableIncludes="true"
12+
>
13+
<plugins>
14+
<pluginClass class="Psalm\SymfonyPsalmPlugin\Plugin"/>
15+
<pluginClass class="Psalm\MockeryPlugin\Plugin"/>
16+
</plugins>
17+
<projectFiles>
18+
<directory name="/"/>
19+
<ignoreFiles>
20+
<directory name="vendor"/>
21+
<directory name="Examples"/>
22+
</ignoreFiles>
23+
</projectFiles>
24+
25+
<issueHandlers>
26+
<MixedInferredReturnType>
27+
<errorLevel type="suppress">
28+
<file name="ServiceLocator/MiddlewareServiceLocator.php"/>
29+
</errorLevel>
30+
</MixedInferredReturnType>
31+
<UnusedVariable>
32+
<errorLevel type="suppress">
33+
<directory name="DependencyInjection"/>
34+
</errorLevel>
35+
</UnusedVariable>
36+
</issueHandlers>
37+
38+
</psalm>

0 commit comments

Comments
 (0)