Open Journal Systems  3.3.0
Request/HeaderVisitor.php
1 <?php
2 
4 
9 
14 {
15  public function visit(CommandInterface $command, RequestInterface $request, Parameter $param, $value)
16  {
17  $value = $param->filter($value);
18  if ($param->getType() == 'object' && $param->getAdditionalProperties() instanceof Parameter) {
19  $this->addPrefixedHeaders($request, $param, $value);
20  } else {
21  $request->setHeader($param->getWireName(), $value);
22  }
23  }
24 
34  protected function addPrefixedHeaders(RequestInterface $request, Parameter $param, $value)
35  {
36  if (!is_array($value)) {
37  throw new InvalidArgumentException('An array of mapped headers expected, but received a single value');
38  }
39  $prefix = $param->getSentAs();
40  foreach ($value as $headerName => $headerValue) {
41  $request->setHeader($prefix . $headerName, $headerValue);
42  }
43  }
44 }
Guzzle\Service\Command\LocationVisitor\Request
Definition: AbstractRequestVisitor.php:3
Guzzle\Http\Message\RequestInterface
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestInterface.php:16
Guzzle\Service\Description\Parameter\filter
filter($value)
Definition: Parameter.php:201
Guzzle\Http\Message\MessageInterface\setHeader
setHeader($header, $value)
Guzzle\Service\Command\LocationVisitor\Request\HeaderVisitor
Definition: Request/HeaderVisitor.php:13
Guzzle\Service\Command\LocationVisitor\Request\AbstractRequestVisitor
Definition: AbstractRequestVisitor.php:9
Guzzle\Service\Description\Parameter
Definition: Parameter.php:10
Guzzle\Service\Command\CommandInterface
Definition: CommandInterface.php:17
Guzzle\Common\Exception\InvalidArgumentException
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/InvalidArgumentException.php:5
Guzzle\Service\Description\Parameter\getWireName
getWireName()
Definition: Parameter.php:250
Guzzle\Service\Command\LocationVisitor\Request\HeaderVisitor\visit
visit(CommandInterface $command, RequestInterface $request, Parameter $param, $value)
Definition: Request/HeaderVisitor.php:15
Guzzle\Service\Description\Parameter\getAdditionalProperties
getAdditionalProperties()
Definition: Parameter.php:775
Guzzle\Service\Command\LocationVisitor\Request\HeaderVisitor\addPrefixedHeaders
addPrefixedHeaders(RequestInterface $request, Parameter $param, $value)
Definition: Request/HeaderVisitor.php:34
Guzzle\Service\Description\Parameter\getType
getType()
Definition: Parameter.php:274
Guzzle\Service\Description\Parameter\getSentAs
getSentAs()
Definition: Parameter.php:539