| 1 |
<?php |
| 2 |
declare(strict_types=1); |
| 3 |
|
| 4 |
namespace Packetery\Module; |
| 5 |
|
| 6 |
use Packetery\Nette\Http\Request; |
| 7 |
use Packetery\Nette\Http\RequestFactory; |
| 8 |
use Packetery\Nette\Http\UrlScript; |
| 9 |
|
| 10 |
final class HttpRequestFactory { |
| 11 |
/** |
| 12 |
* @var bool |
| 13 |
*/ |
| 14 |
private $consoleMode; |
| 15 |
|
| 16 |
/** |
| 17 |
* @var bool |
| 18 |
*/ |
| 19 |
private $binary; |
| 20 |
|
| 21 |
/** |
| 22 |
* @var RequestFactory |
| 23 |
*/ |
| 24 |
private $originalHttpRequestFactory; |
| 25 |
|
| 26 |
public function __construct( |
| 27 |
bool $consoleMode, |
| 28 |
bool $binary, |
| 29 |
RequestFactory $originalHttpRequestFactory |
| 30 |
) { |
| 31 |
$this->consoleMode = $consoleMode; |
| 32 |
$this->binary = $binary; |
| 33 |
$this->originalHttpRequestFactory = $originalHttpRequestFactory; |
| 34 |
} |
| 35 |
|
| 36 |
public function createHttpRequest(): Request { |
| 37 |
if ( $this->consoleMode ) { |
| 38 |
$urlScript = new UrlScript( '/', '/' ); |
| 39 |
|
| 40 |
return new Request( $urlScript ); |
| 41 |
} |
| 42 |
|
| 43 |
$this->originalHttpRequestFactory->setBinary( $this->binary ); |
| 44 |
|
| 45 |
return $this->originalHttpRequestFactory->fromGlobals(); |
| 46 |
} |
| 47 |
} |
| 48 |
|