wordpress / latest / classes / requests_transport_curl / stream_body.html

Requests_Transport_cURL::stream_body( resource $handle, string $data ): integer

Collect data as it’s received

Parameters

$handle resource Required
cURL resource
$data string Required
Body data

Return

integer Length of provided data

Source

File: wp-includes/Requests/Transport/cURL.php. View all references

public function stream_body($handle, $data) {
	$this->hooks->dispatch('request.progress', array($data, $this->response_bytes, $this->response_byte_limit));
	$data_length = strlen($data);

	// Are we limiting the response size?
	if ($this->response_byte_limit) {
		if ($this->response_bytes === $this->response_byte_limit) {
			// Already at maximum, move on
			return $data_length;
		}

		if (($this->response_bytes + $data_length) > $this->response_byte_limit) {
			// Limit the length
			$limited_length = ($this->response_byte_limit - $this->response_bytes);
			$data           = substr($data, 0, $limited_length);
		}
	}

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

	$this->response_bytes += strlen($data);
	return $data_length;
}

Changelog

Version Description
1.6.1 Introduced.

© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/requests_transport_curl/stream_body