Elastica\Transport\HttpAdapter::_createHttpAdapterRequest PHP Method

_createHttpAdapterRequest() protected method

protected _createHttpAdapterRequest ( Request $elasticaRequest, Connection $connection ) : Ivory\HttpAdapter\Message\Request
$elasticaRequest Elastica\Request
$connection Elastica\Connection
return Ivory\HttpAdapter\Message\Request
    protected function _createHttpAdapterRequest(ElasticaRequest $elasticaRequest, Connection $connection)
    {
        $data = $elasticaRequest->getData();
        $body = null;
        $method = $elasticaRequest->getMethod();
        $headers = $connection->hasConfig('headers') ?: [];
        if (!empty($data) || '0' === $data) {
            if ($method == ElasticaRequest::GET) {
                $method = ElasticaRequest::POST;
            }
            if ($this->hasParam('postWithRequestBody') && $this->getParam('postWithRequestBody') == true) {
                $elasticaRequest->setMethod(ElasticaRequest::POST);
                $method = ElasticaRequest::POST;
            }
            if (is_array($data)) {
                $body = JSON::stringify($data, JSON_UNESCAPED_UNICODE);
            } else {
                $body = $data;
            }
        }
        $url = $this->_getUri($elasticaRequest, $connection);
        $streamBody = new StringStream($body);
        return new HttpAdapterRequest($url, $method, HttpAdapterRequest::PROTOCOL_VERSION_1_1, $headers, $streamBody);
    }