public function buildOutgoingRequest(Request $request, float $timeout = 0, bool $allowPersistent = false) : \Generator
{
if (!$request->hasHeader('Connection')) {
$request = $request->withHeader('Connection', $allowPersistent ? 'keep-alive' : 'close');
}
if (!$request->hasHeader('Accept')) {
$request = $request->withHeader('Accept', '*/*');
}
if ($this->compressionEnabled) {
$request = $request->withHeader('Accept-Encoding', 'gzip, deflate');
} else {
$request = $request->withoutHeader('Accept-Encoding');
}
return yield from $this->buildOutgoingStream($request, $timeout);
}