public function testHeaderParameters($parameters = [], $fetch = self::FETCH_OBJECT)
{
$queryParam = new QueryParam();
$queryParam->setDefault('testString', null);
$queryParam->setHeaderParameters(['testString']);
$queryParam->setDefault('testInteger', null);
$queryParam->setHeaderParameters(['testInteger']);
$queryParam->setDefault('testFloat', null);
$queryParam->setHeaderParameters(['testFloat']);
$queryParam->setDefault('testArray', null);
$queryParam->setHeaderParameters(['testArray']);
$queryParam->setRequired('testRequired');
$queryParam->setHeaderParameters(['testRequired']);
$queryParam->setDefault('testDefault', 'test');
$queryParam->setHeaderParameters(['testDefault']);
$url = '/test-header';
$url = $url . ('?' . $queryParam->buildQueryString($parameters));
$headers = array_merge(['Host' => 'localhost'], $queryParam->buildHeaders($parameters));
$body = $queryParam->buildFormDataString($parameters);
$request = $this->messageFactory->createRequest('GET', $url, $headers, $body);
$promise = $this->httpClient->sendAsyncRequest($request);
if (self::FETCH_PROMISE === $fetch) {
return $promise;
}
$response = $promise->wait();
return $response;
}