public function fromRequest(Request $request, $secretKey) { $method = strtolower($request->getMethod()); switch ($method) { case 'post': case 'patch': case 'put': case 'delete': $body = (string) $request->getBody(); break; default: $body = $request->getQuery(true); } return $this->generate($body, $secretKey); }
/** * @param \Guzzle\Http\Message\Request $request */ public function signRequest(Request $request) { $url = $request->getPath(); if ('POST' == $request->getMethod() && $request instanceof EntityEnclosingRequest) { $body = (string) $request->getBody(); $hash = $this->signature->generate($body); } else { $url .= '?' . $request->getQuery(); $hash = $this->signature->generate($url); } $request->addCookie('acquia_solr_time', $this->signature->getRequestTime()); $request->addCookie('acquia_solr_nonce', $this->signature->getNonce()); $request->addCookie('acquia_solr_hmac', $hash . ';'); // The timestamp should be current for each request. $this->signature->unsetRequestTime(); }
/** * {@inheritDoc} */ public function getBody() { return $this->request instanceof EntityEnclosingRequestInterface ? $this->request->getBody() : ''; }