connection = $connection; if (! isset($this->connection->buffer)) { $this->connection->buffer = ''; } $this->connection->buffer .= $message; } public function getRequest(): Request { return parse_request($this->connection->buffer); } protected function getContentLength(): ?int { return Arr::first($this->getRequest()->getHeader('Content-Length')); } public function hasBufferedAllData() { return is_null($this->getContentLength()) || strlen(Str::after($this->connection->buffer, "\r\n\r\n")) === $this->getContentLength(); } public function getConnection() { return $this->connection->getConnection(); } public function __get($key) { return $this->connection->$key; } public function __set($key, $value) { return $this->connection->$key = $value; } public function __unset($key) { unset($this->connection->$key); } public function send($data) { return $this->connection->send($data); } public function close() { return $this->connection->close(); } }