/** * @inheritdoc */ public function format(HttpRequest $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->addHeader('Content-Type', 'application/x-www-form-urlencoded'); $request->setContent($content); return $request; }
/** * @param HttpRequest $request * @return HttpRequest */ public function format(HttpRequest $request) { $request->addHeader('Content-Type', 'application/json; charset=UTF-8'); $request->setContent(json_encode($request->getData(), $this->encodeOptions)); return $request; }
/** * @param HttpRequest $req */ public function applyCookie($req) { // fetch cookies $host = $req->getHeader('host'); $path = $req->getUrlParam('path'); $cookies = $this->fetchCookieToSend($host, $path); if ($this !== $req) { $cookies = array_merge($cookies, $req->fetchCookieToSend($host, $path)); } // add to header $req->setHeader('cookie', null); foreach (array_chunk(array_values($cookies), 3) as $chunk) { $req->addHeader('cookie', implode('; ', $chunk)); } }
echo "POST request\n"; $body = "This is a new note to myself."; $request = new HttpRequest(); $request->setUrl($url); $request->setMethod('POST'); $request->setBody($body); $request->addHeader('Content-Type', 'text/plain'); $response = $http->doRequest($request); //echo "Response: "; print_r($response); echo $response->getStatus(), ': ', $response->getBody(), "\n"; echo "\n"; // PUT REQUEST echo "PUT request\n"; $body = "An update to my original post."; $request = new HttpRequest(); $request->setUrl($url); $request->setMethod('PUT'); $request->setBody($body); $request->addHeader('Content-Type', 'text/plain'); $response = $http->doRequest($request); //echo "Response: "; print_r($response); echo $response->getStatus(), ': ', $response->getBody(), "\n"; echo "\n"; // DELETE REQUEST echo "DELETE request\n"; $request = new HttpRequest(); $request->setUrl($url); $request->setMethod('DELETE'); $response = $http->doRequest($request); echo $response->getStatus(), ': ', $response->getBody(), "\n"; echo "\n";