Session::merge_request( array $request, boolean $merge_options = true ): array

In this article

Merge a request’s data with the default data

Parameters

$requestarrayrequired
Request data (same form as WpOrgRequestsSession::request_multiple())
$merge_optionsbooleanoptional
Should we merge options as well?

Default:true

Return

array Request data

Source

protected function merge_request($request, $merge_options = true) {
	if ($this->url !== null) {
		$request['url'] = Iri::absolutize($this->url, $request['url']);
		$request['url'] = $request['url']->uri;
	}

	if (empty($request['headers'])) {
		$request['headers'] = [];
	}

	$request['headers'] = array_merge($this->headers, $request['headers']);

	if (empty($request['data'])) {
		if (is_array($this->data)) {
			$request['data'] = $this->data;
		}
	} elseif (is_array($request['data']) && is_array($this->data)) {
		$request['data'] = array_merge($this->data, $request['data']);
	}

	if ($merge_options === true) {
		$request['options'] = array_merge($this->options, $request['options']);

		// Disallow forcing the type, as that's a per request setting
		unset($request['options']['type']);
	}

	return $request;
}

User Contributed Notes

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