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);
 | 
						|
	}
 | 
						|
}
 |