Cache the header fields

This commit is contained in:
Michael 2019-10-02 03:45:32 +00:00
parent 5cdeb8615f
commit 489510e7a9

View file

@ -26,6 +26,11 @@ class CurlResult
*/
private $header;
/**
* @var array the HTTP headers of the Curl call
*/
private $header_fields;
/**
* @var boolean true (if HTTP 2xx result) or false
*/
@ -268,20 +273,21 @@ class CurlResult
*/
public function getHeaderArray()
{
$headers = [];
if (!empty($this->header_fields)) {
return $this->header_fields;
}
$lines = explode("\n", $this->header);
$this->header_fields = [];
$lines = explode("\n", trim($this->header));
foreach ($lines as $line) {
$parts = explode(':', $line);
$headerfield = strtolower(trim(array_shift($parts)));
$headerdata = trim(implode(':', $parts));
if (!empty($headerdata)) {
$headers[$headerfield] = $headerdata;
}
$this->header_fields[$headerfield] = $headerdata;
}
return $headers;
return $this->header_fields;
}
/**