[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.143.239.234: ~ $
<?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 Symfony\Component\HttpClient\Response;

use GuzzleHttp\Promise\Create;
use GuzzleHttp\Promise\PromiseInterface as GuzzlePromiseInterface;
use Http\Promise\Promise as HttplugPromiseInterface;
use Psr\Http\Message\ResponseInterface as Psr7ResponseInterface;

/**
 * @author Tobias Nyholm <tobias.nyholm@gmail.com>
 *
 * @internal
 */
final class HttplugPromise implements HttplugPromiseInterface
{
    private $promise;

    public function __construct(GuzzlePromiseInterface $promise)
    {
        $this->promise = $promise;
    }

    public function then(callable $onFulfilled = null, callable $onRejected = null): self
    {
        return new self($this->promise->then(
            $this->wrapThenCallback($onFulfilled),
            $this->wrapThenCallback($onRejected)
        ));
    }

    public function cancel(): void
    {
        $this->promise->cancel();
    }

    /**
     * {@inheritdoc}
     */
    public function getState(): string
    {
        return $this->promise->getState();
    }

    /**
     * {@inheritdoc}
     *
     * @return Psr7ResponseInterface|mixed
     */
    public function wait($unwrap = true)
    {
        $result = $this->promise->wait($unwrap);

        while ($result instanceof HttplugPromiseInterface || $result instanceof GuzzlePromiseInterface) {
            $result = $result->wait($unwrap);
        }

        return $result;
    }

    private function wrapThenCallback(?callable $callback): ?callable
    {
        if (null === $callback) {
            return null;
        }

        return static function ($value) use ($callback) {
            return Create::promiseFor($callback($value));
        };
    }
}

Filemanager

Name Type Size Permission Actions
AmpResponse.php File 16.52 KB 0644
AsyncContext.php File 5.47 KB 0644
AsyncResponse.php File 16.35 KB 0644
CommonResponseTrait.php File 4.97 KB 0644
CurlResponse.php File 18.75 KB 0644
HttplugPromise.php File 1.87 KB 0644
MockResponse.php File 11.78 KB 0644
NativeResponse.php File 13.38 KB 0644
ResponseStream.php File 1.12 KB 0644
StreamWrapper.php File 9.14 KB 0644
StreamableInterface.php File 1.13 KB 0644
TraceableResponse.php File 6.58 KB 0644
TransportResponseTrait.php File 10.9 KB 0644