4

I have searched online but could not get a solution. I know I have done some small mistakes. I generated my code with openapi-generator. I had a directory at nova-components root named as RegistroImprese I made another directory SevenData and moved all RegistroImprese into this new directory. I have gone through quite a lot of problems but fixed them. Until then my code was working fine. But now it's throwing an exception that query_build is undefined but this same function was working fine earlier. Nothing has helped me. Any help would be appreciated.

public function apiRegistroImpresePostRequest($request = null)
{

    $resourcePath = '/api/RegistroImprese';
    $formParams = [];
    $queryParams = [];
    $headerParams = [];
    $httpBody = '';
    $multipart = false;

    if ($multipart) {
        $headers = $this->headerSelector->selectHeadersForMultipart(
            ['application/json']
        );
    } else {
        $headers = $this->headerSelector->selectHeaders(
            ['application/json'],
            ['application/json-patch+json', 'application/json', 'text/json', 'application/_*+json']
        );
    }

    // for model (json/xml)
    if (isset($request)) {
        if ($headers['Content-Type'] === 'application/json') {
            $httpBody = \GuzzleHttp\json_encode(ObjectSerializer::sanitizeForSerialization($request));
        } else {
            $httpBody = $request;
        }
    } elseif (count($formParams) > 0) {

        if ($multipart) {
            $multipartContents = [];
            foreach ($formParams as $formParamName => $formParamValue) {
                $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue];
                foreach ($formParamValueItems as $formParamValueItem) {
                    $multipartContents[] = [
                        'name' => $formParamName,
                        'contents' => $formParamValueItem
                    ];
                }
            }
            // for HTTP post (form)
            $httpBody = new MultipartStream($multipartContents);

        } elseif ($headers['Content-Type'] === 'application/json') {
            $httpBody = \GuzzleHttp\json_encode($formParams);

        } else {
            // for HTTP post (form)
            $httpBody = \GuzzleHttp\Psr7\build_query($formParams);
        }
    }


    $defaultHeaders = [];
    if ($this->config->getUserAgent()) {
        $defaultHeaders['User-Agent'] = $this->config->getUserAgent();
    }

    $headers = array_merge(
        $defaultHeaders,
        $headerParams,
        $headers
    );

    $query = \GuzzleHttp\Psr7\build_query($queryParams);
    return new Request(
        'POST',
        $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
        $headers,
        $httpBody
    );
}
Professor
  • 858
  • 1
  • 9
  • 17
Qasim Ali
  • 587
  • 2
  • 11
  • 28

1 Answers1

3

This problem was solved by using Query::build. After Guzzle 7.2 build_query()was deprecated.

Qasim Ali
  • 587
  • 2
  • 11
  • 28