_prepareHeaders() protected method

Prepare the request headers
protected _prepareHeaders ( ) : array
return array
Ejemplo n.º 1
0
 /**
  * Prepare the request headers
  *
  * @return array
  */
 protected function _prepareHeaders()
 {
     $headers = parent::_prepareHeaders();
     // Set the Content-Type header
     if (($this->method == self::POST || $this->method == self::PUT) && (!isset($this->headers[strtolower(self::CONTENT_TYPE)]) && isset($this->enctype) || isset($this->headers[strtolower(self::CONTENT_TYPE)]) && isset($this->enctype) && ($this->enctype !== self::ENC_URLENCODED || $this->enctype !== self::ENC_FORMDATA))) {
         if (isset($this->headers[strtolower(self::CONTENT_TYPE)])) {
             $ContentTypeHeader = $this->headers[strtolower(self::CONTENT_TYPE)];
             switch ($ContentTypeHeader[1]) {
                 case parent::ENC_FORMDATA:
                     $enctype = self::ENC_FORMDATA;
                     break;
                 case parent::ENC_URLENCODED:
                     $enctype = self::ENC_URLENCODED;
                     break;
                 default:
                     $enctype = self::CONTENT_TYPE;
                     break;
             }
             unset($this->headers[strtolower(self::CONTENT_TYPE)]);
         } else {
             $enctype = $this->enctype;
         }
         foreach ($headers as $key => $val) {
             if (0 === strpos($val, self::CONTENT_TYPE)) {
                 unset($headers[$key]);
                 break;
             }
         }
         $headers[] = self::CONTENT_TYPE . ': ' . $enctype;
     }
     return $headers;
 }