add($a[0], \trim($a[1])); } else { $headerContainer->addError( "Invalid header found at offset: $offset", LogLevel::ERROR ); } } return $this; } /** * Reads header lines up to an empty line, adding them to the passed * PartHeaderContainer. * * @param resource $handle The resource handle to read from. * @param PartHeaderContainer $container the container to add headers to. */ public function parse($handle, PartHeaderContainer $container) : static { $header = ''; do { $offset = \ftell($handle); $line = MessageParserService::readLine($handle); if ($line === false || $line === '' || $line[0] !== "\t" && $line[0] !== ' ') { $this->addRawHeaderToPart($offset, $header, $container); $header = ''; } else { $line = "\r\n" . $line; } $header .= \rtrim($line, "\r\n"); } while ($header !== ''); return $this; } }