Вход Регистрация
Файл: vendor/symfony/console/Debug/CliRequest.php
Строк: 98
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyComponentConsoleDebug;

use 
SymfonyComponentConsoleCommandTraceableCommand;
use 
SymfonyComponentHttpFoundationRequest;
use 
SymfonyComponentHttpFoundationResponse;

/**
 * @internal
 */
final class CliRequest extends Request
{
    public function 
__construct(
        public 
readonly TraceableCommand $command,
    ) {
        
parent::__construct(
            
attributes: ['_controller' => get_class($command->command), '_virtual_type' => 'command'],
            
server$_SERVER,
        );
    }

    
// Methods below allow to populate a profile, thus enable search and filtering
    
public function getUri(): string
    
{
        if (
$this->server->has('SYMFONY_CLI_BINARY_NAME')) {
            
$binary $this->server->get('SYMFONY_CLI_BINARY_NAME').' console';
        } else {
            
$binary $this->server->get('argv')[0];
        }

        return 
$binary.' '.$this->command->input;
    }

    public function 
getMethod(): string
    
{
        return 
$this->command->isInteractive 'INTERACTIVE' 'BATCH';
    }

    public function 
getResponse(): Response
    
{
        return new class(
$this->command->exitCode) extends Response {
            public function 
__construct(private readonly int $exitCode)
            {
                
parent::__construct();
            }

            public function 
getStatusCode(): int
            
{
                return 
$this->exitCode;
            }
        };
    }

    public function 
getClientIp(): string
    
{
        
$application $this->command->getApplication();

        return 
$application->getName().' '.$application->getVersion();
    }
}
Онлайн: 0
Реклама