/** * @param array $parameters { * * @var string $testString * @var int $testInteger * @var float $testFloat * @var array $testArray * @var string $testRequired * @var string $testDefault * } * * @param string $fetch Fetch mode (object or response) * * @return \Psr\Http\Message\ResponseInterface */ public function testFormParameters($parameters = [], $fetch = self::FETCH_OBJECT) { $queryParam = new QueryParam(); $queryParam->setDefault('testString', null); $queryParam->setFormParameters(['testString']); $queryParam->setDefault('testInteger', null); $queryParam->setFormParameters(['testInteger']); $queryParam->setDefault('testFloat', null); $queryParam->setFormParameters(['testFloat']); $queryParam->setDefault('testArray', null); $queryParam->setFormParameters(['testArray']); $queryParam->setRequired('testRequired'); $queryParam->setFormParameters(['testRequired']); $queryParam->setDefault('testDefault', 'test'); $queryParam->setFormParameters(['testDefault']); $url = '/test-form'; $url = $url . ('?' . $queryParam->buildQueryString($parameters)); $headers = array_merge(['Host' => 'localhost'], $queryParam->buildHeaders($parameters)); $body = $queryParam->buildFormDataString($parameters); $request = $this->messageFactory->createRequest('POST', $url, $headers, $body); $response = $this->httpClient->sendRequest($request); return $response; }