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.


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.


cURL handle.
cURL request body.


int Total bytes of data written.


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;



User Contributed Notes

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