protected function __readHeadersFromStream(iStreamable $stream) { $headers = ''; ## 255 can be vary, its each header length. // TODO just read header part from aggregate stream, it can be tagged for each stream while (!$stream->isEOF() && ($line = $stream->readLine("\r\n", 255)) !== null) { $break = false; $headers .= $line . "\r\n"; if (trim($line) === '') { ## http headers part read complete $break = true; } if ($break) { break; } } return $headers; }