WP_Http_Curl::stream_body()privateWP 3.6.0

Grabs the body of the cURL request.

The contents of the document are passed in chunks, and are appended to the $body property for temporary storage. Returning a length shorter than the length of $data passed in will cause cURL to abort the request with CURLE_WRITE_ERROR.

Метод класса: WP_Http_Curl{}

Хуков нет.

Возвращает

int. Total bytes of data written.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->stream_body( $handle, $data );
$handle(resource) (обязательный)
cURL handle.
$data(строка) (обязательный)
cURL request body.

Список изменений

С версии 3.6.0 Введена.

Код WP_Http_Curl::stream_body() WP 6.5.2

private function stream_body( $handle, $data ) {
	$data_length = strlen( $data );

	if ( $this->max_body_length && ( $this->bytes_written_total + $data_length ) > $this->max_body_length ) {
		$data_length = ( $this->max_body_length - $this->bytes_written_total );
		$data        = substr( $data, 0, $data_length );
	}

	if ( $this->stream_handle ) {
		$bytes_written = fwrite( $this->stream_handle, $data );
	} else {
		$this->body   .= $data;
		$bytes_written = $data_length;
	}

	$this->bytes_written_total += $bytes_written;

	// Upon event of this function returning less than strlen( $data ) curl will error with CURLE_WRITE_ERROR.
	return $bytes_written;
}