Code Duplication    Length = 43-46 lines in 3 locations

src/Internal/ParameterHandler/FieldParamHandler.php 1 location

@@ 19-64 (lines=46) @@
16
 *
17
 * @author Nate Brunette <[email protected]>
18
 */
19
final class FieldParamHandler extends AbstractParameterHandler
20
{
21
    /**
22
     * @var StringConverter
23
     */
24
    private $converter;
25
26
    /**
27
     * @var string
28
     */
29
    private $name;
30
31
    /**
32
     * @var bool
33
     */
34
    private $encoded;
35
36
    /**
37
     * Constructor
38
     *
39
     * @param string $name
40
     * @param StringConverter $converter
41
     * @param bool $encoded
42
     */
43
    public function __construct(StringConverter $converter, string $name, bool $encoded)
44
    {
45
        $this->converter = $converter;
46
        $this->name = $name;
47
        $this->encoded = $encoded;
48
    }
49
50
    /**
51
     * Set a value to the [@see RequestBuilder] for parameter type
52
     *
53
     * @param RequestBuilder $requestBuilder
54
     * @param mixed $value
55
     * @return void
56
     * @throws \RuntimeException
57
     */
58
    public function apply(RequestBuilder $requestBuilder, $value): void
59
    {
60
        foreach ($this->getListValues($value) as $element) {
61
            $requestBuilder->addField($this->name, $this->converter->convert($element), $this->encoded);
62
        }
63
    }
64
}
65

src/Internal/ParameterHandler/PartParamHandler.php 1 location

@@ 19-61 (lines=43) @@
16
 *
17
 * @author Nate Brunette <[email protected]>
18
 */
19
final class PartParamHandler extends AbstractParameterHandler
20
{
21
    /**
22
     * @var RequestBodyConverter
23
     */
24
    private $converter;
25
26
    /**
27
     * @var string
28
     */
29
    private $name;
30
31
    /**
32
     * @var string
33
     */
34
    private $encoding;
35
36
    /**
37
     * Constructor
38
     *
39
     * @param RequestBodyConverter $converter
40
     * @param string $name
41
     * @param string $encoding
42
     */
43
    public function __construct(RequestBodyConverter $converter, string $name, string $encoding)
44
    {
45
        $this->converter = $converter;
46
        $this->name = $name;
47
        $this->encoding = $encoding;
48
    }
49
50
    /**
51
     * Set a value to the [@see RequestBuilder] for parameter type
52
     *
53
     * @param RequestBuilder $requestBuilder
54
     * @param mixed $value
55
     * @return void
56
     */
57
    public function apply(RequestBuilder $requestBuilder, $value): void
58
    {
59
        $this->handlePart($requestBuilder, $this->converter, $this->name, $value, $this->encoding);
60
    }
61
}
62

src/Internal/ParameterHandler/QueryParamHandler.php 1 location

@@ 19-64 (lines=46) @@
16
 *
17
 * @author Nate Brunette <[email protected]>
18
 */
19
final class QueryParamHandler extends AbstractParameterHandler
20
{
21
    /**
22
     * @var StringConverter
23
     */
24
    private $converter;
25
26
    /**
27
     * @var string
28
     */
29
    private $name;
30
31
    /**
32
     * @var bool
33
     */
34
    private $encoded;
35
36
    /**
37
     * Constructor
38
     *
39
     * @param string $name
40
     * @param StringConverter $converter
41
     * @param bool $encoded
42
     */
43
    public function __construct(StringConverter $converter, string $name, bool $encoded)
44
    {
45
        $this->converter = $converter;
46
        $this->name = $name;
47
        $this->encoded = $encoded;
48
    }
49
50
    /**
51
     * Set a value to the [@see RequestBuilder] for parameter type
52
     *
53
     * @param RequestBuilder $requestBuilder
54
     * @param mixed $value
55
     * @return void
56
     * @throws \RuntimeException
57
     */
58
    public function apply(RequestBuilder $requestBuilder, $value): void
59
    {
60
        foreach ($this->getListValues($value) as $element) {
61
            $requestBuilder->addQuery($this->name, $this->converter->convert($element), $this->encoded);
62
        }
63
    }
64
}
65