WP_Http_Curl::stream_body
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.
Method of the class: WP_Http_Curl{}
No Hooks.
Returns
Int. Total bytes of data written.
Usage
// private - for code of main (parent) class only $result = $this->stream_body( $handle, $data );
- $handle(resource) (required)
- cURL handle.
- $data(string) (required)
- cURL request body.
Changelog
| Since 3.6.0 | Introduced. |
WP_Http_Curl::stream_body() WP Http Curl::stream body code WP 6.9.1
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;
}