24 lines
628 B
PHP
24 lines
628 B
PHP
<?php
|
|
|
|
namespace Qcloud\Cos;
|
|
|
|
use Psr\Http\Message\RequestInterface;
|
|
|
|
class SignatureMiddleware {
|
|
private $nextHandler;
|
|
protected $signature;
|
|
|
|
/**
|
|
* @param callable $nextHandler Next handler to invoke.
|
|
*/
|
|
public function __construct(callable $nextHandler, $accessKey, $secretKey, $options) {
|
|
$this->nextHandler = $nextHandler;
|
|
$this->signature = new Signature($accessKey, $secretKey, $options);
|
|
}
|
|
|
|
public function __invoke(RequestInterface $request, array $options) {
|
|
$fn = $this->nextHandler;
|
|
return $fn($this->signature->signRequest($request), $options);
|
|
}
|
|
}
|