Requests_Transport_cURL::stream_body()

最后更新于:2021-11-26 04:07:02

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

Collect data as it’s received

参数

$handle

(resource) (Required) cURL resource

$data

(string) (Required) Body data

响应

(integer) Length of provided data

源文件

文件: gc-includes/Requests/Transport/cURL.php

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