PayPal\Core\PayPalHttpConfig::setHttpProxy PHP Method

setHttpProxy() public method

Set HTTP proxy information
public setHttpProxy ( string $proxy )
$proxy string
    public function setHttpProxy($proxy)
    {
        $urlParts = parse_url($proxy);
        if ($urlParts == false || !array_key_exists("host", $urlParts)) {
            throw new PayPalConfigurationException("Invalid proxy configuration " . $proxy);
        }
        $this->curlOptions[CURLOPT_PROXY] = $urlParts["host"];
        if (isset($urlParts["port"])) {
            $this->curlOptions[CURLOPT_PROXY] .= ":" . $urlParts["port"];
        }
        if (isset($urlParts["user"])) {
            $this->curlOptions[CURLOPT_PROXYUSERPWD] = $urlParts["user"] . ":" . $urlParts["pass"];
        }
    }

Usage Example

Esempio n. 1
0
 /**
  * @test
  */
 public function testProxyOpts()
 {
     $proxy = 'http://*****:*****@hostname:8081';
     $o = new PayPalHttpConfig();
     $o->setHttpProxy($proxy);
     $curlOpts = $o->getCurlOptions();
     $this->assertEquals('hostname:8081', $curlOpts[CURLOPT_PROXY]);
     $this->assertEquals('me:secret', $curlOpts[CURLOPT_PROXYUSERPWD]);
     $this->setExpectedException('PayPal\\Exception\\PayPalConfigurationException');
     $o->setHttpProxy('invalid string');
 }