/** * @inheritdoc */ public function format(Request $request) { $contentType = $this->contentType; $charset = $this->encoding === null ? Yii::$app->charset : $this->encoding; if (stripos($contentType, 'charset') === false) { $contentType .= '; charset=' . $charset; } $request->getHeaders()->set('Content-Type', $contentType); $data = $request->getData(); if ($data !== null) { if ($data instanceof DOMDocument) { $content = $data->saveXML(); } elseif ($data instanceof SimpleXMLElement) { $content = $data->saveXML(); } else { $dom = new DOMDocument($this->version, $charset); $root = new DOMElement($this->rootTag); $dom->appendChild($root); $this->buildXml($root, $data); $content = $dom->saveXML(); } $request->setContent($content); } return $request; }
/** * @inheritdoc */ public function format(Request $request) { $data = (array) $request->getData(); $content = http_build_query($data, '', '&', $this->encodingType); if (strcasecmp('get', $request->getMethod()) === 0) { if (!empty($content)) { $url = $request->getUrl(); $url .= strpos($url, '?') === false ? '?' : '&'; $url .= $content; $request->setUrl($url); } return $request; } $request->getHeaders()->set('Content-Type', 'application/x-www-form-urlencoded'); $request->setContent($content); return $request; }
/** * @inheritdoc */ public function format(Request $request) { $request->getHeaders()->set('Content-Type', 'application/json; type=entry'); $request->setContent(Json::encode($request->getData(), $this->encodeOptions)); return $request; }