Skip to content

Introduce a draft for a generic reusable HTTP client builder #248

Introduce a draft for a generic reusable HTTP client builder

Introduce a draft for a generic reusable HTTP client builder #248

Triggered via pull request December 2, 2025 06:27
Status Failure
Total duration 31s
Artifacts

grumphp.yaml

on: pull_request
Matrix: run
Fit to window
Zoom out
Zoom in

Annotations

42 errors and 6 warnings
PHP 8.5 @ ubuntu-latest with --prefer-lowest
Process completed with exit code 1.
ArgumentTypeCoercion: src/Formatter/RemoveSensitiveQueryStringsFormatter.php#L40
src/Formatter/RemoveSensitiveQueryStringsFormatter.php:40:92: ArgumentTypeCoercion: Argument 2 of Phpro\HttpTools\Formatter\RemoveSensitiveQueryStringsFormatter::__construct expects non-empty-list<string>, but parent type array<array-key, mixed> provided (see https://psalm.dev/193)
InvalidDocblockParamName: src/Formatter/RemoveSensitiveQueryStringsFormatter.php#L35
src/Formatter/RemoveSensitiveQueryStringsFormatter.php:35:38: InvalidDocblockParamName: Incorrect param name $sensitiveHeaders in docblock for Phpro\HttpTools\Formatter\RemoveSensitiveQueryStringsFormatter::createDecorator (see https://psalm.dev/187)
ArgumentTypeCoercion: src/Formatter/RemoveSensitiveJsonKeysFormatter.php#L42
src/Formatter/RemoveSensitiveJsonKeysFormatter.php:42:92: ArgumentTypeCoercion: Argument 2 of Phpro\HttpTools\Formatter\RemoveSensitiveJsonKeysFormatter::__construct expects non-empty-list<string>, but parent type array<array-key, mixed> provided (see https://psalm.dev/193)
InvalidDocblockParamName: src/Formatter/RemoveSensitiveJsonKeysFormatter.php#L37
src/Formatter/RemoveSensitiveJsonKeysFormatter.php:37:38: InvalidDocblockParamName: Incorrect param name $sensitiveHeaders in docblock for Phpro\HttpTools\Formatter\RemoveSensitiveJsonKeysFormatter::createDecorator (see https://psalm.dev/187)
PossiblyInvalidArgument: src/Client/ClientBuilder.php#L152
src/Client/ClientBuilder.php:152:13: PossiblyInvalidArgument: Argument 2 of Phpro\HttpTools\Client\Configurator\PluginsConfigurator::configure expects iterable<mixed, Http\Client\Common\Plugin>, but possibly different type list<mixed> provided (see https://psalm.dev/092)
MixedArgument: src/Client/ClientBuilder.php#L93
src/Client/ClientBuilder.php:93:13: MixedArgument: Argument 1 of Phpro\HttpTools\Client\ClientBuilder::addPlugin cannot be mixed, expecting Http\Client\Common\Plugin (see https://psalm.dev/030)
InvalidArgument: src/Client/ClientBuilder.php#L79
src/Client/ClientBuilder.php:79:41: InvalidArgument: Argument 2 of SplPriorityQueue::insert expects Http\Client\Common\Plugin, but int provided (see https://psalm.dev/004)
MixedAssignment: src/Client/ClientBuilder.php#L52
src/Client/ClientBuilder.php:52:34: MixedAssignment: Unable to determine the type that $middleware is being assigned to (see https://psalm.dev/032)
MixedPropertyTypeCoercion: src/Client/ClientBuilder.php#L50
src/Client/ClientBuilder.php:50:26: MixedPropertyTypeCoercion: $this->plugins expects 'SplPriorityQueue<Http\Client\Common\Plugin>', parent type `SplPriorityQueue<mixed, mixed>` provided (see https://psalm.dev/196)
MissingTemplateParam: src/Client/ClientBuilder.php#L39
src/Client/ClientBuilder.php:39:13: MissingTemplateParam: SplPriorityQueue has missing template params, expecting 2 (see https://psalm.dev/182)
ArgumentTypeCoercion: src/Formatter/RemoveSensitiveQueryStringsFormatter.php#L40
src/Formatter/RemoveSensitiveQueryStringsFormatter.php:40:92: ArgumentTypeCoercion: Argument 2 of Phpro\HttpTools\Formatter\RemoveSensitiveQueryStringsFormatter::__construct expects non-empty-list<string>, but parent type array<array-key, mixed> provided (see https://psalm.dev/193)
InvalidDocblockParamName: src/Formatter/RemoveSensitiveQueryStringsFormatter.php#L35
src/Formatter/RemoveSensitiveQueryStringsFormatter.php:35:38: InvalidDocblockParamName: Incorrect param name $sensitiveHeaders in docblock for Phpro\HttpTools\Formatter\RemoveSensitiveQueryStringsFormatter::createDecorator (see https://psalm.dev/187)
ArgumentTypeCoercion: src/Formatter/RemoveSensitiveJsonKeysFormatter.php#L42
src/Formatter/RemoveSensitiveJsonKeysFormatter.php:42:92: ArgumentTypeCoercion: Argument 2 of Phpro\HttpTools\Formatter\RemoveSensitiveJsonKeysFormatter::__construct expects non-empty-list<string>, but parent type array<array-key, mixed> provided (see https://psalm.dev/193)
InvalidDocblockParamName: src/Formatter/RemoveSensitiveJsonKeysFormatter.php#L37
src/Formatter/RemoveSensitiveJsonKeysFormatter.php:37:38: InvalidDocblockParamName: Incorrect param name $sensitiveHeaders in docblock for Phpro\HttpTools\Formatter\RemoveSensitiveJsonKeysFormatter::createDecorator (see https://psalm.dev/187)
PossiblyInvalidArgument: src/Client/ClientBuilder.php#L152
src/Client/ClientBuilder.php:152:13: PossiblyInvalidArgument: Argument 2 of Phpro\HttpTools\Client\Configurator\PluginsConfigurator::configure expects iterable<mixed, Http\Client\Common\Plugin>, but possibly different type list<mixed> provided (see https://psalm.dev/092)
MixedArgument: src/Client/ClientBuilder.php#L93
src/Client/ClientBuilder.php:93:13: MixedArgument: Argument 1 of Phpro\HttpTools\Client\ClientBuilder::addPlugin cannot be mixed, expecting Http\Client\Common\Plugin (see https://psalm.dev/030)
InvalidArgument: src/Client/ClientBuilder.php#L79
src/Client/ClientBuilder.php:79:41: InvalidArgument: Argument 2 of SplPriorityQueue::insert expects Http\Client\Common\Plugin, but int provided (see https://psalm.dev/004)
MixedAssignment: src/Client/ClientBuilder.php#L52
src/Client/ClientBuilder.php:52:34: MixedAssignment: Unable to determine the type that $middleware is being assigned to (see https://psalm.dev/032)
MixedPropertyTypeCoercion: src/Client/ClientBuilder.php#L50
src/Client/ClientBuilder.php:50:26: MixedPropertyTypeCoercion: $this->plugins expects 'SplPriorityQueue<Http\Client\Common\Plugin>', parent type `SplPriorityQueue<mixed, mixed>` provided (see https://psalm.dev/196)
MissingTemplateParam: src/Client/ClientBuilder.php#L39
src/Client/ClientBuilder.php:39:13: MissingTemplateParam: SplPriorityQueue has missing template params, expecting 2 (see https://psalm.dev/182)
PHP 8.5 @ ubuntu-latest with
Process completed with exit code 1.
ArgumentTypeCoercion: src/Formatter/RemoveSensitiveQueryStringsFormatter.php#L40
src/Formatter/RemoveSensitiveQueryStringsFormatter.php:40:92: ArgumentTypeCoercion: Argument 2 of Phpro\HttpTools\Formatter\RemoveSensitiveQueryStringsFormatter::__construct expects non-empty-list<string>, but parent type array<array-key, mixed> provided (see https://psalm.dev/193)
InvalidDocblockParamName: src/Formatter/RemoveSensitiveQueryStringsFormatter.php#L35
src/Formatter/RemoveSensitiveQueryStringsFormatter.php:35:38: InvalidDocblockParamName: Incorrect param name $sensitiveHeaders in docblock for Phpro\HttpTools\Formatter\RemoveSensitiveQueryStringsFormatter::createDecorator (see https://psalm.dev/187)
ArgumentTypeCoercion: src/Formatter/RemoveSensitiveJsonKeysFormatter.php#L42
src/Formatter/RemoveSensitiveJsonKeysFormatter.php:42:92: ArgumentTypeCoercion: Argument 2 of Phpro\HttpTools\Formatter\RemoveSensitiveJsonKeysFormatter::__construct expects non-empty-list<string>, but parent type array<array-key, mixed> provided (see https://psalm.dev/193)
InvalidDocblockParamName: src/Formatter/RemoveSensitiveJsonKeysFormatter.php#L37
src/Formatter/RemoveSensitiveJsonKeysFormatter.php:37:38: InvalidDocblockParamName: Incorrect param name $sensitiveHeaders in docblock for Phpro\HttpTools\Formatter\RemoveSensitiveJsonKeysFormatter::createDecorator (see https://psalm.dev/187)
PossiblyInvalidArgument: src/Client/ClientBuilder.php#L152
src/Client/ClientBuilder.php:152:13: PossiblyInvalidArgument: Argument 2 of Phpro\HttpTools\Client\Configurator\PluginsConfigurator::configure expects iterable<mixed, Http\Client\Common\Plugin>, but possibly different type list<mixed> provided (see https://psalm.dev/092)
MixedArgument: src/Client/ClientBuilder.php#L93
src/Client/ClientBuilder.php:93:13: MixedArgument: Argument 1 of Phpro\HttpTools\Client\ClientBuilder::addPlugin cannot be mixed, expecting Http\Client\Common\Plugin (see https://psalm.dev/030)
InvalidArgument: src/Client/ClientBuilder.php#L79
src/Client/ClientBuilder.php:79:41: InvalidArgument: Argument 2 of SplPriorityQueue::insert expects Http\Client\Common\Plugin, but int provided (see https://psalm.dev/004)
MixedAssignment: src/Client/ClientBuilder.php#L52
src/Client/ClientBuilder.php:52:34: MixedAssignment: Unable to determine the type that $middleware is being assigned to (see https://psalm.dev/032)
MixedPropertyTypeCoercion: src/Client/ClientBuilder.php#L50
src/Client/ClientBuilder.php:50:26: MixedPropertyTypeCoercion: $this->plugins expects 'SplPriorityQueue<Http\Client\Common\Plugin>', parent type `SplPriorityQueue<mixed, mixed>` provided (see https://psalm.dev/196)
MissingTemplateParam: src/Client/ClientBuilder.php#L39
src/Client/ClientBuilder.php:39:13: MissingTemplateParam: SplPriorityQueue has missing template params, expecting 2 (see https://psalm.dev/182)
ArgumentTypeCoercion: src/Formatter/RemoveSensitiveQueryStringsFormatter.php#L40
src/Formatter/RemoveSensitiveQueryStringsFormatter.php:40:92: ArgumentTypeCoercion: Argument 2 of Phpro\HttpTools\Formatter\RemoveSensitiveQueryStringsFormatter::__construct expects non-empty-list<string>, but parent type array<array-key, mixed> provided (see https://psalm.dev/193)
InvalidDocblockParamName: src/Formatter/RemoveSensitiveQueryStringsFormatter.php#L35
src/Formatter/RemoveSensitiveQueryStringsFormatter.php:35:38: InvalidDocblockParamName: Incorrect param name $sensitiveHeaders in docblock for Phpro\HttpTools\Formatter\RemoveSensitiveQueryStringsFormatter::createDecorator (see https://psalm.dev/187)
ArgumentTypeCoercion: src/Formatter/RemoveSensitiveJsonKeysFormatter.php#L42
src/Formatter/RemoveSensitiveJsonKeysFormatter.php:42:92: ArgumentTypeCoercion: Argument 2 of Phpro\HttpTools\Formatter\RemoveSensitiveJsonKeysFormatter::__construct expects non-empty-list<string>, but parent type array<array-key, mixed> provided (see https://psalm.dev/193)
InvalidDocblockParamName: src/Formatter/RemoveSensitiveJsonKeysFormatter.php#L37
src/Formatter/RemoveSensitiveJsonKeysFormatter.php:37:38: InvalidDocblockParamName: Incorrect param name $sensitiveHeaders in docblock for Phpro\HttpTools\Formatter\RemoveSensitiveJsonKeysFormatter::createDecorator (see https://psalm.dev/187)
PossiblyInvalidArgument: src/Client/ClientBuilder.php#L152
src/Client/ClientBuilder.php:152:13: PossiblyInvalidArgument: Argument 2 of Phpro\HttpTools\Client\Configurator\PluginsConfigurator::configure expects iterable<mixed, Http\Client\Common\Plugin>, but possibly different type list<mixed> provided (see https://psalm.dev/092)
MixedArgument: src/Client/ClientBuilder.php#L93
src/Client/ClientBuilder.php:93:13: MixedArgument: Argument 1 of Phpro\HttpTools\Client\ClientBuilder::addPlugin cannot be mixed, expecting Http\Client\Common\Plugin (see https://psalm.dev/030)
InvalidArgument: src/Client/ClientBuilder.php#L79
src/Client/ClientBuilder.php:79:41: InvalidArgument: Argument 2 of SplPriorityQueue::insert expects Http\Client\Common\Plugin, but int provided (see https://psalm.dev/004)
MixedAssignment: src/Client/ClientBuilder.php#L52
src/Client/ClientBuilder.php:52:34: MixedAssignment: Unable to determine the type that $middleware is being assigned to (see https://psalm.dev/032)
MixedPropertyTypeCoercion: src/Client/ClientBuilder.php#L50
src/Client/ClientBuilder.php:50:26: MixedPropertyTypeCoercion: $this->plugins expects 'SplPriorityQueue<Http\Client\Common\Plugin>', parent type `SplPriorityQueue<mixed, mixed>` provided (see https://psalm.dev/196)
MissingTemplateParam: src/Client/ClientBuilder.php#L39
src/Client/ClientBuilder.php:39:13: MissingTemplateParam: SplPriorityQueue has missing template params, expecting 2 (see https://psalm.dev/182)
PHP 8.5 @ ubuntu-latest with --prefer-lowest
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
PHP 8.4 @ ubuntu-latest with --prefer-lowest
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
PHP 8.3 @ ubuntu-latest with --prefer-lowest
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
PHP 8.5 @ ubuntu-latest with
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
PHP 8.4 @ ubuntu-latest with
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
PHP 8.3 @ ubuntu-latest with
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/