WP_Http_Curl::stream_body( resource $handle, string $data ): int

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Grabs the body of the cURL request.

Description

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.

Parameters

$handleresourcerequired
cURL handle.
$datastringrequired
cURL request body.

Return

int Total bytes of data written.

Source

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;
}

Changelog

VersionDescription
3.6.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.