for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* Copyright (c) Nate Brunette.
* Distributed under the MIT License (http://opensource.org/licenses/MIT)
*/
declare(strict_types=1);
namespace Tebru\Retrofit\Internal\ParameterHandler;
use Iterator;
use Tebru\Retrofit\Internal\RequestBuilder;
use Tebru\Retrofit\StringConverter;
/**
* Class FieldMapParamHandler
*
* @author Nate Brunette <[email protected]>
final class FieldMapParamHandler extends AbstractParameterHandler
{
* @var StringConverter
private $converter;
* @var bool
private $encoded;
* Constructor
* @param StringConverter $converter
* @param bool $encoded
public function __construct(StringConverter $converter, bool $encoded)
$this->converter = $converter;
$this->encoded = $encoded;
}
* Set a value to the [@see RequestBuilder] for parameter type
* @param RequestBuilder $requestBuilder
* @param array|Iterator $map
* @throws \RuntimeException
public function apply(RequestBuilder $requestBuilder, $map): void
if ($map === null) {
return;
foreach ($map as $name => $value) {
foreach ($this->getListValues($value) as $element) {
$requestBuilder->addField($name, $this->converter->convert($element), $this->encoded);