Пример #1
0
 /**
  * @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;
 }