public function getBody(int $bodySize = -1) : Body { $ireq = $this->internalRequest; if ($bodySize > -1) { if ($bodySize > ($ireq->maxBodySize ?? $ireq->client->options->maxBodySize)) { $ireq->maxBodySize = $bodySize; $ireq->client->httpDriver->upgradeBodySize($this->internalRequest); } } if ($ireq->body != $this->body) { $this->body = $ireq->body->when(function ($e, $data) { if ($e instanceof ClientSizeException) { $ireq = $this->internalRequest; $bodyPromisor = $ireq->client->bodyPromisors[$ireq->streamId]; $ireq->body = new Body($bodyPromisor); $bodyPromisor->update($data); } }); } return $ireq->body; }