Jar::before_request( string $url, array $headers, array $data, string $type, array $options )

In this article

Add Cookie header to a request if we have any

Description

As per RFC 6265, cookies are separated by ‘; ‘

Parameters

$urlstringrequired
$headersarrayrequired
$dataarrayrequired
$typestringrequired
$optionsarrayrequired

Source

public function before_request($url, &$headers, &$data, &$type, &$options) {
	if (!$url instanceof Iri) {
		$url = new Iri($url);
	}

	if (!empty($this->cookies)) {
		$cookies = [];
		foreach ($this->cookies as $key => $cookie) {
			$cookie = $this->normalize_cookie($cookie, $key);

			// Skip expired cookies
			if ($cookie->is_expired()) {
				continue;
			}

			if ($cookie->domain_matches($url->host)) {
				$cookies[] = $cookie->format_for_header();
			}
		}

		$headers['Cookie'] = implode('; ', $cookies);
	}
}

User Contributed Notes

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