$locationName
$locationName : string
Extracts headers from the response into a result fields
$locationName : string
before(\GuzzleHttp\Command\ResultInterface $result, \Psr\Http\Message\ResponseInterface $response, \GuzzleHttp\Command\Guzzle\Parameter $model) : \GuzzleHttp\Command\ResultInterface
Called before visiting all parameters. This can be used for seeding the result of a command with default data (e.g. populating with JSON data in the response then adding to the parsed data).
\GuzzleHttp\Command\ResultInterface | $result | |
\Psr\Http\Message\ResponseInterface | $response | |
\GuzzleHttp\Command\Guzzle\Parameter | $model |
after(\GuzzleHttp\Command\ResultInterface $result, \Psr\Http\Message\ResponseInterface $response, \GuzzleHttp\Command\Guzzle\Parameter $model) : \GuzzleHttp\Command\ResultInterface
Called after visiting all parameters
\GuzzleHttp\Command\ResultInterface | $result | |
\Psr\Http\Message\ResponseInterface | $response | |
\GuzzleHttp\Command\Guzzle\Parameter | $model |
visit(\GuzzleHttp\Command\ResultInterface $result, \Psr\Http\Message\ResponseInterface $response, \GuzzleHttp\Command\Guzzle\Parameter $param) : \GuzzleHttp\Command\ResultInterface
Called once for each parameter being visited that matches the location type.
\GuzzleHttp\Command\ResultInterface | $result | |
\Psr\Http\Message\ResponseInterface | $response | |
\GuzzleHttp\Command\Guzzle\Parameter | $param |
<?php
namespace GuzzleHttp\Command\Guzzle\ResponseLocation;
use GuzzleHttp\Command\Guzzle\Parameter;
use GuzzleHttp\Command\ResultInterface;
use Psr\Http\Message\ResponseInterface;
/**
* Extracts headers from the response into a result fields
*/
class HeaderLocation extends AbstractLocation
{
/**
* Set the name of the location
*
* @param string $locationName
*/
public function __construct($locationName = 'header')
{
parent::__construct($locationName);
}
/**
* @param ResultInterface $result
* @param ResponseInterface $response
* @param Parameter $param
*
* @return ResultInterface
*/
public function visit(
ResultInterface $result,
ResponseInterface $response,
Parameter $param
) {
// Retrieving a single header by name
$name = $param->getName();
if ($header = $response->getHeader($param->getWireName())) {
if (is_array($header)) {
$header = array_shift($header);
}
$result[$name] = $param->filter($header);
}
return $result;
}
}