private function generateClientConfiguration()
    {
        $clientConfiguration = [
            'base_uri' => $this->config->api_base,
            'timeout' => $this->config->http_timeout,
            'headers' => [
                'Connection' => 'keep-alive',
                'Accept-Encoding' => ''
            ]
        ];

        if ($this->config->http_user_agent !== false) {
            $clientConfiguration['headers']['User-Agent'] =
                'PhealNG/' . Pheal::VERSION . ' ' . $this->config->http_user_agent;
        }

        if ($this->config->http_keepalive !== false) {
            $clientConfiguration['headers']['Keep-Alive'] = 'timeout=' .
            $this->config->http_keepalive === true ? 15 : $this->config->http_keepalive .
                ', max=1000';
        }

        $clientConfiguration['verify'] = false;

        if ($this->config->http_ssl_verifypeer === true && $this->config->http_ssl_certificate_file !== false) {
            $clientConfiguration['verify'] = $this->config->http_ssl_certificate_file;
        } elseif ($this->config->http_ssl_verifypeer === true) {
            $clientConfiguration['verify'] = true;
        }

        return $clientConfiguration;
    }