filter($value); if ($param->getType() == 'object' && $param->getAdditionalProperties() instanceof Parameter) { $this->addPrefixedHeaders($request, $param, $value); } else { $request->setHeader($param->getWireName(), $value); } } /** * Add a prefixed array of headers to the request * * @param RequestInterface $request Request to update * @param Parameter $param Parameter object * @param array $value Header array to add * * @throws InvalidArgumentException */ protected function addPrefixedHeaders(RequestInterface $request, Parameter $param, $value) { if (!is_array($value)) { throw new InvalidArgumentException('An array of mapped headers expected, but received a single value'); } $prefix = $param->getSentAs(); foreach ($value as $headerName => $headerValue) { $request->setHeader($prefix . $headerName, $headerValue); } } }