2017-04-24 1 views
0

J'ai un Zend \ Http \ Client avec un Zend \ Http \ Client \ Adapter \ Curl et je veux définir un en-tête personnalisé pour l'adaptateur. Mais dans l'adaptateur curl il y a un tableau appelé invalidOverwritableCurlOptions qui inclut le CURLOPT_HTTPHEADER. Il m'est donc impossible de définir cet en-tête.ZF Curl - Comment définir un en-tête personnalisé quand il n'est pas autorisé dans l'adaptateur

Existe-t-il un autre moyen de le définir?

$adapter = new Curl(); 
$client = new Client(); 

$adapter->setCurlOption(CURLOPT_HTTPHEADER, [ 
    'AuthenticationToken:123456' 
]); 

$client->setAdapter($adapter); 

Si je commente la ligne, où les options papillotes se valider, tout fonctionne bien ...

// set additional curl options 
if (isset($this->config['curloptions'])) { 
    foreach ((array) $this->config['curloptions'] as $k => $v) { 
     //if (! in_array($k, $this->invalidOverwritableCurlOptions)) { 
      if (curl_setopt($this->curl, $k, $v) == false) { 
       throw new AdapterException\RuntimeException(sprintf(
        'Unknown or erroreous cURL option "%s" set', 
        $k 
       )); 
      } 
     //} 
    } 
} 

Répondre

2

Ok je l'ai eu. Vous pouvez définir les en-têtes directement sur le client.

$client->setHeaders([ 
    'AuthenticationToken:123456' 
]);