/** * 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; }