public function getSignedUrl(array $options)
{
foreach (['url', 'key_pair_id', 'private_key'] as $required) {
if (!isset($options[$required])) {
throw new \InvalidArgumentException("{$required} is required");
}
}
$urlSigner = new UrlSigner($options['key_pair_id'], $options['private_key']);
return $urlSigner->getSignedUrl($options['url'], isset($options['expires']) ? $options['expires'] : null, isset($options['policy']) ? $options['policy'] : null);
}