����JFIF��� ( %"1"%)+...383,7(-.- 404 Not Found
Sh3ll
OdayForums


Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20
System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 7.4.20
Disable Function : NONE
Directory :  /var/www/html/luckymerchan/vendor/phpjuice/paypal-http-client/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/html/luckymerchan/vendor/phpjuice/paypal-http-client/src/PayPalClient.php
<?php

namespace PayPal\Http;

use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Utils;
use PayPal\Http\Environment\Environment;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use stdClass;

class PayPalClient implements HttpClient
{
    protected Environment $environment;

    protected Client $client;

    protected ?AccessToken $access_token;

    /**
     * HttpClient constructor. Pass the environment you wish to make calls to.
     * @param  Environment  $environment
     * @see Environment
     */
    public function __construct(Environment $environment)
    {
        $this->environment = $environment;
        $this->client = new Client([
            'base_uri' => $environment->baseUrl(),
            'timeout' => 30,
            'connect_timeout' => 10,
        ]);
        $this->access_token = null;
    }

    /**
     * Send http request.
     *
     * @param  RequestInterface  $request
     * @return ResponseInterface
     * @throws GuzzleException
     * @throws RequestException
     */
    public function send(RequestInterface $request): ResponseInterface
    {
        // if request doesn't have an authorization header
        if (!$this->hasAuthHeader($request)) {
            // fetch access token if null or expired
            if ($this->hasInvalidToken()) {
                $this->fetchAccessToken();
            }

            // add Authorization header to request
            if ($this->access_token) {
                $request = $request->withHeader('Authorization', $this->access_token->authorizationString() ?? '');
            }
        }

        $request = $this->injectUserAgentHeaders($request);

        $request = $this->injectSdkHeaders($request);

        $request = $this->injectGzipHeaders($request);

        return $this->client->send($request);
    }

    /**
     * Check if headers contain an auth header.
     *
     * @param  RequestInterface  $request
     * @return bool
     */
    public function hasAuthHeader(RequestInterface $request): bool
    {
        return array_key_exists('Authorization', $request->getHeaders());
    }

    /**
     * Check if request has a valid token
     *
     * @return bool
     */
    public function hasInvalidToken(): bool
    {
        return !$this->access_token || $this->access_token->isExpired();
    }

    /**
     * Sends a request that fetches the access token.
     *
     * @return AccessToken
     * @throws GuzzleException
     */
    public function fetchAccessToken(): AccessToken
    {
        $response = $this->client->send(new AccessTokenRequest($this->environment));

        /** @var stdClass $result */
        $result = Utils::jsonDecode($response->getBody()->getContents());
        $this->access_token = new AccessToken($result->access_token, $result->token_type, $result->expires_in);

        return $this->access_token;
    }

    /**
     * Injects default user-agent into the request.
     *
     * @param  RequestInterface  $request
     * @return RequestInterface
     */
    public function injectUserAgentHeaders(RequestInterface $request): RequestInterface
    {
        return $request->withHeader('User-Agent', 'PayPalHttp-PHP HTTP/1.1');
    }

    /**
     * Inject PayPal sdk headers into request.
     *
     * @param  RequestInterface  $request
     * @return RequestInterface
     */
    public function injectSdkHeaders(RequestInterface $request): RequestInterface
    {
        $r = $request->withHeader('sdk_name', 'PayPal PHP SDK')
            ->withHeader('sdk_version', '1.0.0');

        /*
         * Only inject this header on production
         *
         * @see https://github.com/phpjuice/paypal-http-client/issues/6
         */
        if ('production' == $this->environment->name()) {
            $r = $r->withHeader('sdk_tech_stack', 'PHP '.PHP_VERSION);
        }

        return $r;
    }

    /**
     * Inject gzip headers into the request.
     *
     * @param  RequestInterface  $request
     * @return RequestInterface
     */
    public function injectGzipHeaders(RequestInterface $request): RequestInterface
    {
        return $request->withHeader('Accept-Encoding', 'gzip');
    }

    /**
     * Set custom Guzzle Http client.
     */
    public function setClient(Client $client): self
    {
        $this->client = $client;

        return $this;
    }
}

ZeroDay Forums Mini