class Aws::DocDB::Plugins::CrossRegionCopying::Handler

@api private

def call(context)

def call(context)
  params = context.params
  if params.is_a?(Hash) &&
     params[:source_region] && !params[:pre_signed_url]
    params[:pre_signed_url] = presigned_url(context, params)
  end
  @handler.call(context)
end

def presigned_url(context, params)

def presigned_url(context, params)
  # :source_region is not modeled in the api
  source_region = params.delete(:source_region)
  param_list = Aws::Query::ParamList.new
  param_list.set('Action', context.operation.name)
  param_list.set('DestinationRegion', context.config.region)
  param_list.set('Version', context.config.api.version)
  Aws::Query::ParamBuilder.new(param_list).apply(
    context.operation.input,
    params
  )
  signer = Aws::Sigv4::Signer.new(
    service: 'rds',
    region: source_region,
    credentials_provider: context.config.credentials
  )
  url = Aws::Partitions::EndpointProvider.resolve(
    signer.region, 'rds'
  )
  url += "?#{param_list}"
  signer.presign_url(
    http_method: 'GET',
    url: url,
    expires_in: 3600
  ).to_s
end