/**
  * @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();
 }
Beispiel #2
0
 public function testSignatureGeneration()
 {
     $signature = new Signature('test-key');
     $actual = $signature->generate('test-string');
     $data = $signature->getRequestTime() . $signature->getNonce() . 'test-string';
     $expected = hash_hmac('sha1', $data, 'test-key');
     $this->assertEquals($expected, $actual);
 }