src/Parser/AbstractParser.php
protected function parseBody($body)
    {
        // Headers come first, then content.
        $isHeader = true;
        $headers = [];
        $content = [];

        foreach (explode(static::EOL, $body) as $i => $line) {

            if (0 == $i) {
                // Skip the first line
                continue;
            }

            if ('' == trim($line)) {
                // First newline starts body in next line.
                $isHeader = false;
                continue;
            }

            if ($isHeader) {
                list($header, $value) = explode(':', $line);
                if ($header) {
                    $headers[strtolower($header)][] = trim($value);
                }
            } else {
                $content[] = $line;
            }
        }

        return ['headers' => $headers, 'body' => implode(static::EOL, $content)];
    }
protected function parseBody($body)
    {
        // Headers come first, then content.
        $isHeader = true;
        $headers = [];
        $content = [];

        foreach (explode(static::EOL, $body) as $i => $line) {

            if (0 == $i) {
                // Skip the first line
                continue;
            }

            if ('' == trim($line)) {
                // First newline starts body in next line.
                $isHeader = false;
                continue;
            }

            if ($isHeader) {
                list($header, $value) = explode(':', $line);
                if ($header) {
                    $headers[strtolower($header)][] = trim($value);
                }
            } else {
                $content[] = $line;
            }
        }

        return ['headers' => $headers, 'body' => implode(static::EOL, $content)];
    }
Will parse a single [header-]newline-body string.

@param $body
@return array