def retrieve(options, &block)
      expiry_time_value = options.fetch('expires', nil)
      if expiry_time_value
        expiry_time = Time.parse(expiry_time_value)
        raise ArgumentError, "Download expired at #{expiry_time}" if expiry_time < Time.now
      end

      download_options = extract_download_options(options)
      url = download_options[:url]

      case url.scheme
      when 'file'
        retrieve_file(download_options, &block)
      when /https?/
        retrieve_http(download_options, &block)
      else
        raise URI::BadURIError, "Unknown URI scheme: #{url.scheme}"
      end
    end
def retrieve(options, &block)
      expiry_time_value = options.fetch('expires', nil)
      if expiry_time_value
        expiry_time = Time.parse(expiry_time_value)
        raise ArgumentError, "Download expired at #{expiry_time}" if expiry_time < Time.now
      end

      download_options = extract_download_options(options)
      url = download_options[:url]

      case url.scheme
      when 'file'
        retrieve_file(download_options, &block)
      when /https?/
        retrieve_http(download_options, &block)
      else
        raise URI::BadURIError, "Unknown URI scheme: #{url.scheme}"
      end
    end
Retrieve the resource from the storage service
 @param options [Hash]