Exemplo n.º 1
0
 protected function configOption(&$descriptor, $option, $value)
 {
     switch ($option) {
         case CURLOPT_POST:
             if ($value != NULL) {
                 $descriptor['option'][$option] = (bool) $value;
             }
             if (!$descriptor['option'][$option] && isset($descriptor['option'][CURLOPT_POSTFIELDS])) {
                 unset($descriptor['option'][CURLOPT_POSTFIELDS]);
             }
             break;
         case CURLOPT_POSTFIELDS:
             if (!$value) {
                 unset($descriptor['option'][$option]);
                 $this->setOption($descriptor, CURLOPT_POST, false);
             } else {
                 $this->setOption($descriptor, CURLOPT_POST, true);
             }
             break;
         case CURLOPT_URL:
             $urlInfo = DryPath::parseUrl($value);
             if (isset($urlInfo['scheme']) && $urlInfo['scheme'] != $this->scheme) {
                 $this->setScheme($urlInfo['scheme']);
             }
             break;
         case CURLOPT_PROXY:
             if (DryPath::isIp($value)) {
                 $this->useProxy = true;
             }
             break;
         default:
             break;
     }
 }