public function sign($url, $expires = null, $options = [])
    {
        if (parse_url($url, PHP_URL_QUERY)) {
            throw new \InvalidArgumentException('This signer do not accept URL with query string');
        }

        if (!$expires) {
            $expires = time() + $this->options['default_age'];
        }

        return $url . '?' . $this->makeQueryString($this->makeQueryParams($url, $expires, $options));
    }