/** * Always add a x-amz-content-sha-256 for data integrity. */ public function signRequest(RequestInterface $request, CredentialsInterface $credentials) { if ($request instanceof EntityEnclosingRequestInterface && $request->getBody() && !$request->hasHeader('x-amz-content-sha256')) { $request->setHeader('X-Amz-Content-Sha256', $this->getPresignedPayload($request)); } parent::signRequest($request, $credentials); }
/** * Always add a x-amz-content-sha-256 for data integrity. */ public function signRequest(RequestInterface $request, CredentialsInterface $credentials) { if (!$request->hasHeader('x-amz-content-sha256')) { $request->setHeader('x-amz-content-sha256', $this->getPayload($request)); } parent::signRequest($request, $credentials); }
public function signRequest(RequestInterface $request, CredentialsInterface $credentials) { if ($request instanceof EntityEnclosingRequestInterface && $request->getBody()) { $request->setHeader('X-Amz-Content-Sha256', EntityBody::getHash($request->getBody(), 'sha256')); } else { $request->setHeader('X-Amz-Content-Sha256', hash('sha256', '')); } parent::signRequest($request, $credentials); }
public function testSignSpecificHeaders() { $sig = new SignatureV4('foo', 'bar'); $creds = new Credentials('a', 'b'); $req = new Request('PUT', 'http://foo.com', array('date' => 'today', 'host' => 'foo.com', 'x-amz-foo' => '123', 'content-md5' => 'bogus')); $sig->signRequest($req, $creds); $creq = $req->getParams()->getPath('aws.signature/canonical_request'); $this->assertContains('content-md5;date;host;x-amz-foo', $creq); }