37 lines
1.6 KiB
PHP
37 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace UglyRobot\Infinite_Uploads\Aws\Signature;
|
|
|
|
use UglyRobot\Infinite_Uploads\Aws\Credentials\CredentialsInterface;
|
|
use UglyRobot\Infinite_Uploads\Psr\Http\Message\RequestInterface;
|
|
/**
|
|
* Interface used to provide interchangeable strategies for signing requests
|
|
* using the various AWS signature protocols.
|
|
*/
|
|
interface SignatureInterface
|
|
{
|
|
/**
|
|
* Signs the specified request with an AWS signing protocol by using the
|
|
* provided AWS account credentials and adding the required headers to the
|
|
* request.
|
|
*
|
|
* @param RequestInterface $request Request to sign
|
|
* @param CredentialsInterface $credentials Signing credentials
|
|
*
|
|
* @return RequestInterface Returns the modified request.
|
|
*/
|
|
public function signRequest(\UglyRobot\Infinite_Uploads\Psr\Http\Message\RequestInterface $request, \UglyRobot\Infinite_Uploads\Aws\Credentials\CredentialsInterface $credentials);
|
|
/**
|
|
* Create a pre-signed request.
|
|
*
|
|
* @param RequestInterface $request Request to sign
|
|
* @param CredentialsInterface $credentials Credentials used to sign
|
|
* @param int|string|\DateTimeInterface $expires The time at which the URL should
|
|
* expire. This can be a Unix timestamp, a PHP DateTime object, or a
|
|
* string that can be evaluated by strtotime.
|
|
*
|
|
* @return RequestInterface
|
|
*/
|
|
public function presign(\UglyRobot\Infinite_Uploads\Psr\Http\Message\RequestInterface $request, \UglyRobot\Infinite_Uploads\Aws\Credentials\CredentialsInterface $credentials, $expires, array $options = []);
|
|
}
|