module Uricp::CurlPrimitives attr_reader :options def from options['from_uri'] end def from=(target) options['from_uri'] = target end def to options['to_uri'] end def to=(target) options['to_uri'] = target end def curl_command "curl --fail --silent" end def authentication "-H X-Auth-Token:#{options['auth-token']}" if http_authentication? end def http_authentication? options['auth-token'] end def curl_upload_from(source, destination = to) "#{curl_command} #{authentication} -T #{source} #{destination.to_s};" end def curl_download_to_pipe "#{curl_command} #{authentication} #{from.to_s} |" end def curl_manifest(object_manifest, destination = to) "#{curl_command} #{authentication} -X PUT -H 'X-Object-Manifest: #{object_manifest}' #{destination.to_s} --data-binary ''" end end