private function write($stream, $request)
{
$buffer = $this->appendHeader($request);
$length = strlen($buffer);
while (true) {
$sent = @fwrite($stream, $buffer, $length);
if ($sent === false) {
return false;
}
if ($sent < $length) {
$buffer = substr($buffer, $sent);
$length -= $sent;
} else {
return true;
}
}
}