original_string: private function setOption($key, $value) {
      switch ($key) {
        // Cases that we support.
        case CURLOPT_FOLLOWLOCATION:
          $this->request->setFollowRedirects($value);
          break;
        case CURLOPT_HTTPGET:
          $this->request->setMethod(RequestMethod::GET);
          break;
        case CURLOPT_NOBODY:
          $this->request->setMethod(RequestMethod::HEAD);
          break;
        case CURLOPT_POST:
          $this->request->setMethod(RequestMethod::POST);
          break;
        case CURLOPT_PUT:
          $this->request->setMethod(RequestMethod::PUT);
          break;
        case CURLOPT_SSL_VERIFYPEER:
          $this->request->setMustValidateServerCertificate($value);
          break;
        case CURLOPT_TIMEOUT:
          $this->request->setDeadline($value);
          break;
        case CURLOPT_TIMEOUT_MS:
          $this->request->setDeadline($value * 1000);
          break;
        case CURLOPT_CUSTOMREQUEST:
          if (!in_array($value, array_keys(static::$custom_request_map))) {
            throw new CurlLiteOptionNotSupportedException(
                'Custom request ' . $value . ' not supported by this curl ' .
                'implementation.');
          }
          $this->request->setMethod(static::$custom_request_map[$value]);
          break;
        case CURLOPT_RANGE:
          $this->headers['Range'] = $value;
          break;
        case CURLOPT_REFERER:
          $this->headers['Referer'] = $value;
          $break;
        case CURLOPT_URL:
          $this->setRequestUrl($value);
          break;
        case CURLOPT_USERAGENT:
          $this->headers['User-Agent'] = $value;
          break;
        case CURLOPT_COOKIE:
          $this->headers['Cookie'] = $value;
          break;
        case CURLOPT_HTTPHEADER:
          $this->headers = ArrayUtil::arrayMergeIgnoreCase(
              $this->headers, $this->parseHttpHeaders($value));
          break;
        // Cases that we don't support, that could cause a semantic change in the
        // application by not supporting.
        case CURLOPT_COOKIESESSION:
        case CURLOPT_CERTINFO:
        case CURLOPT_CONNECT_ONLY:
        case CURLOPT_FTP_USE_EPRT:
        case CURLOPT_FTP_USE_EPSV:
        case CURLOPT_FTP_CREATE_MISSING_DIRS:
        case CURLOPT_FTPAPPEND:
        case CURLOPT_FTPLISTONLY:
        case CURLOPT_HTTPPROXYTUNNEL:
        case CURLOPT_NETRC:
        case CURLOPT_NOSIGNAL:
        case CURLOPT_SAFE_UPLOAD:
        case CURLOPT_TRANSFERTEXT:
        case CURLOPT_FTPSSLAUTH:
        case CURLOPT_TIMEVALUE:
        case CURLOPT_CAINFO:
        case CURLOPT_COOKIEJAR:
        case CURLOPT_FTPPORT:
        case CURLOPT_KEYPASSWD:
        case CURLOPT_KRB4LEVEL:
        case CURLOPT_SSH_HOST_PUBLIC_KEY_MD5:
        case CURLOPT_SSH_PUBLIC_KEYFILE:
        case CURLOPT_SSH_PRIVATE_KEYFILE:
        case CURLOPT_SSLCERT:
        case CURLOPT_SSLCERTPASSWD:
        case CURLOPT_SSLCERTTYPE:
        case CURLOPT_SSLENGINE:
        case CURLOPT_SSLENGINE_DEFAULT:
        case CURLOPT_SSLKEY:
        case CURLOPT_SSLKEYPASSWD:
        case CURLOPT_SSLKEYTYPE:
        case CURLOPT_POSTQUOTE:
        case CURLOPT_QUOTE:
        case CURLOPT_PROGRESSFUNCTION:
        case CURLOPT_SHARE:
          throw new CurlLiteOptionNotSupportedException(
            'Option ' . $key . ' is not supported by this curl implementation.');
  
        // Everything else is a no-op, or will be configured at request time.
        default:
      }
      $this->options[$key] = $value;
      return true;
    }
code: private function setOption($key, $value) {
      switch ($key) {
        // Cases that we support.
        case CURLOPT_FOLLOWLOCATION:
          $this->request->setFollowRedirects($value);
          break;
        case CURLOPT_HTTPGET:
          $this->request->setMethod(RequestMethod::GET);
          break;
        case CURLOPT_NOBODY:
          $this->request->setMethod(RequestMethod::HEAD);
          break;
        case CURLOPT_POST:
          $this->request->setMethod(RequestMethod::POST);
          break;
        case CURLOPT_PUT:
          $this->request->setMethod(RequestMethod::PUT);
          break;
        case CURLOPT_SSL_VERIFYPEER:
          $this->request->setMustValidateServerCertificate($value);
          break;
        case CURLOPT_TIMEOUT:
          $this->request->setDeadline($value);
          break;
        case CURLOPT_TIMEOUT_MS:
          $this->request->setDeadline($value * 1000);
          break;
        case CURLOPT_CUSTOMREQUEST:
          if (!in_array($value, array_keys(static::$custom_request_map))) {
            throw new CurlLiteOptionNotSupportedException(
                'Custom request ' . $value . ' not supported by this curl ' .
                'implementation.');
          }
          $this->request->setMethod(static::$custom_request_map[$value]);
          break;
        case CURLOPT_RANGE:
          $this->headers['Range'] = $value;
          break;
        case CURLOPT_REFERER:
          $this->headers['Referer'] = $value;
          $break;
        case CURLOPT_URL:
          $this->setRequestUrl($value);
          break;
        case CURLOPT_USERAGENT:
          $this->headers['User-Agent'] = $value;
          break;
        case CURLOPT_COOKIE:
          $this->headers['Cookie'] = $value;
          break;
        case CURLOPT_HTTPHEADER:
          $this->headers = ArrayUtil::arrayMergeIgnoreCase(
              $this->headers, $this->parseHttpHeaders($value));
          break;
        // Cases that we don't support, that could cause a semantic change in the
        // application by not supporting.
        case CURLOPT_COOKIESESSION:
        case CURLOPT_CERTINFO:
        case CURLOPT_CONNECT_ONLY:
        case CURLOPT_FTP_USE_EPRT:
        case CURLOPT_FTP_USE_EPSV:
        case CURLOPT_FTP_CREATE_MISSING_DIRS:
        case CURLOPT_FTPAPPEND:
        case CURLOPT_FTPLISTONLY:
        case CURLOPT_HTTPPROXYTUNNEL:
        case CURLOPT_NETRC:
        case CURLOPT_NOSIGNAL:
        case CURLOPT_SAFE_UPLOAD:
        case CURLOPT_TRANSFERTEXT:
        case CURLOPT_FTPSSLAUTH:
        case CURLOPT_TIMEVALUE:
        case CURLOPT_CAINFO:
        case CURLOPT_COOKIEJAR:
        case CURLOPT_FTPPORT:
        case CURLOPT_KEYPASSWD:
        case CURLOPT_KRB4LEVEL:
        case CURLOPT_SSH_HOST_PUBLIC_KEY_MD5:
        case CURLOPT_SSH_PUBLIC_KEYFILE:
        case CURLOPT_SSH_PRIVATE_KEYFILE:
        case CURLOPT_SSLCERT:
        case CURLOPT_SSLCERTPASSWD:
        case CURLOPT_SSLCERTTYPE:
        case CURLOPT_SSLENGINE:
        case CURLOPT_SSLENGINE_DEFAULT:
        case CURLOPT_SSLKEY:
        case CURLOPT_SSLKEYPASSWD:
        case CURLOPT_SSLKEYTYPE:
        case CURLOPT_POSTQUOTE:
        case CURLOPT_QUOTE:
        case CURLOPT_PROGRESSFUNCTION:
        case CURLOPT_SHARE:
          throw new CurlLiteOptionNotSupportedException(
            'Option ' . $key . ' is not supported by this curl implementation.');
  
        // Everything else is a no-op, or will be configured at request time.
        default:
      }
      $this->options[$key] = $value;
      return true;
    }
code_tokens: private function setOption ( $ key , $ value ) { switch ( $ key ) { // Cases that we support. case CURLOPT_FOLLOWLOCATION : $ this -> request -> setFollowRedirects ( $ value ) ; break ; case CURLOPT_HTTPGET : $ this -> request -> setMethod ( RequestMethod :: GET ) ; break ; case CURLOPT_NOBODY : $ this -> request -> setMethod ( RequestMethod :: HEAD ) ; break ; case CURLOPT_POST : $ this -> request -> setMethod ( RequestMethod :: POST ) ; break ; case CURLOPT_PUT : $ this -> request -> setMethod ( RequestMethod :: PUT ) ; break ; case CURLOPT_SSL_VERIFYPEER : $ this -> request -> setMustValidateServerCertificate ( $ value ) ; break ; case CURLOPT_TIMEOUT : $ this -> request -> setDeadline ( $ value ) ; break ; case CURLOPT_TIMEOUT_MS : $ this -> request -> setDeadline ( $ value * 1000 ) ; break ; case CURLOPT_CUSTOMREQUEST : if ( ! in_array ( $ value , array_keys ( static :: $ custom_request_map ) ) ) { throw new CurlLiteOptionNotSupportedException ( 'Custom request ' . $ value . ' not supported by this curl ' . 'implementation.' ) ; } $ this -> request -> setMethod ( static :: $ custom_request_map [ $ value ] ) ; break ; case CURLOPT_RANGE : $ this -> headers [ 'Range' ] = $ value ; break ; case CURLOPT_REFERER : $ this -> headers [ 'Referer' ] = $ value ; $ break ; case CURLOPT_URL : $ this -> setRequestUrl ( $ value ) ; break ; case CURLOPT_USERAGENT : $ this -> headers [ 'User-Agent' ] = $ value ; break ; case CURLOPT_COOKIE : $ this -> headers [ 'Cookie' ] = $ value ; break ; case CURLOPT_HTTPHEADER : $ this -> headers = ArrayUtil :: arrayMergeIgnoreCase ( $ this -> headers , $ this -> parseHttpHeaders ( $ value ) ) ; break ; // Cases that we don't support, that could cause a semantic change in the // application by not supporting. case CURLOPT_COOKIESESSION : case CURLOPT_CERTINFO : case CURLOPT_CONNECT_ONLY : case CURLOPT_FTP_USE_EPRT : case CURLOPT_FTP_USE_EPSV : case CURLOPT_FTP_CREATE_MISSING_DIRS : case CURLOPT_FTPAPPEND : case CURLOPT_FTPLISTONLY : case CURLOPT_HTTPPROXYTUNNEL : case CURLOPT_NETRC : case CURLOPT_NOSIGNAL : case CURLOPT_SAFE_UPLOAD : case CURLOPT_TRANSFERTEXT : case CURLOPT_FTPSSLAUTH : case CURLOPT_TIMEVALUE : case CURLOPT_CAINFO : case CURLOPT_COOKIEJAR : case CURLOPT_FTPPORT : case CURLOPT_KEYPASSWD : case CURLOPT_KRB4LEVEL : case CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 : case CURLOPT_SSH_PUBLIC_KEYFILE : case CURLOPT_SSH_PRIVATE_KEYFILE : case CURLOPT_SSLCERT : case CURLOPT_SSLCERTPASSWD : case CURLOPT_SSLCERTTYPE : case CURLOPT_SSLENGINE : case CURLOPT_SSLENGINE_DEFAULT : case CURLOPT_SSLKEY : case CURLOPT_SSLKEYPASSWD : case CURLOPT_SSLKEYTYPE : case CURLOPT_POSTQUOTE : case CURLOPT_QUOTE : case CURLOPT_PROGRESSFUNCTION : case CURLOPT_SHARE : throw new CurlLiteOptionNotSupportedException ( 'Option ' . $ key . ' is not supported by this curl implementation.' ) ; // Everything else is a no-op, or will be configured at request time. default : } $ this -> options [ $ key ] = $ value ; return true ; }
docstring: Set a curl option for the request.
  
  See: http://php.net/manual/en/function.curl-setopt.php
  
  @param int $key The option to set.
  @param mixed $value The value of the option.
docstring_tokens: Set a curl option for the request .