PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` nextHandler = $nextHandler; $this->service = $service; } public function __invoke(CommandInterface $command, RequestInterface $request) { $nextHandler = $this->nextHandler; $operation = $this->service->getOperation($command->getName()); $contentLength = $request->getHeader('content-length'); $hasStreaming = false; $requiresLength = false; // Check if any present input member is a stream and requires the // content length foreach ($operation->getInput()->getMembers() as $name => $member) { if (!empty($member['streaming']) && isset($command[$name])) { $hasStreaming = true; if (!empty($member['requiresLength'])) { $requiresLength = true; } } } if ($hasStreaming) { // Add 'transfer-encoding' header if payload size not required to // to be calculated and not already known if (empty($requiresLength) && empty($contentLength) && isset($operation['authtype']) && $operation['authtype'] == 'v4-unsigned-body' ) { $request = $request->withHeader('transfer-encoding', 'chunked'); // Otherwise, make sure 'content-length' header is added } else { if (empty($contentLength)) { $size = $request->getBody()->getSize(); if (is_null($size)) { throw new IncalculablePayloadException('Payload' . ' content length is required and can not be' . ' calculated.'); } $request = $request->withHeader( 'content-length', $size ); } } } return $nextHandler($command, $request); } }