From 83587f7b6e880b5e267d12a2defe8d360442d9bc Mon Sep 17 00:00:00 2001 From: Michael Dowling Date: Mon, 24 Nov 2014 10:37:57 -0800 Subject: [PATCH] Fixing signature v4 memory consumption. Closes #411 --- src/Aws/Common/Signature/SignatureV4.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Aws/Common/Signature/SignatureV4.php b/src/Aws/Common/Signature/SignatureV4.php index 38b60b4594..9a9d900a11 100644 --- a/src/Aws/Common/Signature/SignatureV4.php +++ b/src/Aws/Common/Signature/SignatureV4.php @@ -24,6 +24,7 @@ use Guzzle\Http\Message\RequestInterface; use Guzzle\Http\QueryString; use Guzzle\Http\Url; +use Guzzle\Stream\Stream; /** * Signature Version 4 @@ -230,12 +231,9 @@ protected function getPayload(RequestInterface $request) } if ($request instanceof EntityEnclosingRequestInterface) { - return hash( - 'sha256', - $request->getMethod() == 'POST' && count($request->getPostFields()) - ? (string) $request->getPostFields() - : (string) $request->getBody() - ); + return $request->getMethod() == 'POST' && count($request->getPostFields()) + ? hash('sha256', (string) $request->getPostFields()) + : Stream::getHash($request->getBody(), 'sha256'); } return self::DEFAULT_PAYLOAD;