class ActiveStorage::Service

def url_for_direct_upload(key, expires_in:, content_type:, content_length:, checksum:, custom_metadata: {})

that will be uploaded. All these attributes will be validated by the service upon upload.
You must also provide the +content_type+, +content_length+, and +checksum+ of the file
The URL will be valid for the amount of seconds specified in +expires_in+.
Returns a signed, temporary URL that a direct upload file can be PUT to on the +key+.
def url_for_direct_upload(key, expires_in:, content_type:, content_length:, checksum:, custom_metadata: {})
  raise NotImplementedError
end