Alert: 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.
WP_Http_Curl::stream_body() WordPress Method
The WP_Http_Curl::stream_body() function reads the body of a response from a remote server and streams it to the client. This function is useful for large files or responses that would otherwise take up a lot of memory.
WP_Http_Curl::stream_body( resource $handle, string $data ) #
Grabs the body of the cURL request.
Description
The contents of the document are passed in chunks, so we append 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
- $handle
(resource)(Required)cURL handle.
- $data
(string)(Required)cURL request body.
Return
(int) Total bytes of data written.
Source
File: wp-includes/class-wp-http-curl.php
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; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
3.6.0 | Introduced. |