Bart\Curl::parseHeaders PHP Method

parseHeaders() private method

Parse the headers into an array that matches that pattern of http://php.net/manual/en/function.http-parse-headers.php
private parseHeaders ( $headerString ) : array
$headerString
return array
    private function parseHeaders($headerString)
    {
        preg_match_all("/^([-a-zA-Z0-9_]+): (.+)\$/m", $headerString, $matches, PREG_SET_ORDER);
        $headers = array();
        foreach ($matches as $m) {
            $header = $m[1];
            $value = $m[2];
            //check for duplicate headers and group into arrays
            //necessary for Set-Cookie in particular
            if (array_key_exists($header, $headers)) {
                if (is_array($headers[$header])) {
                    $headers[$header][] = $value;
                } else {
                    // Convert to array of Header values
                    $currentValue = $headers[$header];
                    $headers[$header] = array($currentValue, $value);
                }
            } else {
                $headers[$header] = $value;
            }
        }
        return $headers;
    }