<?php
namespace Aws\Signature;
use Aws\Credentials\CredentialsInterface;
use 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(
RequestInterface $request,
CredentialsInterface $credentials
);
/**
* Create a pre-signed request.
*
* @param RequestInterface $request Request to sign
* @param CredentialsInterface $credentials Credentials used to sign
* @param int|string|\DateTime $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(
RequestInterface $request,
CredentialsInterface $credentials,
$expires
);
}
|