public static function sign_request($params, &$options)
{
$api_key = Cloudinary::option_get($options, "api_key", Cloudinary::config_get("api_key"));
if (!$api_key) {
throw new \InvalidArgumentException("Must supply api_key");
}
$api_secret = Cloudinary::option_get($options, "api_secret", Cloudinary::config_get("api_secret"));
if (!$api_secret) {
throw new \InvalidArgumentException("Must supply api_secret");
}
# Remove blank parameters
$params = array_filter($params, function ($v) {
return isset($v) && $v !== "";
});
$params["signature"] = Cloudinary::api_sign_request($params, $api_secret);
$params["api_key"] = $api_key;
return $params;
}