class FileFM::StreamingUploader
Public Class Methods
put(to_url, params = {}, &block)
click to toggle source
# File lib/filefm/streaming_uploader.rb, line 79 def put(to_url, params = {}, &block) parts = [] content_file = nil params.each do |key, value| if value.kind_of?(File) filepath = value.path parts << StreamPart.new(value, File.size(filepath)) end end body_stream = MultipartStream.new(parts, block) url = URI.parse(to_url) headers = { 'Content-Length' => body_stream.size.to_s }.merge(params[:headers]) req = Net::HTTP::Put.new(url.path, headers) Log.debug "HEADERS: " + headers.inspect Log.debug "HOST: " + url.host Log.debug "PORT: " + url.port.to_s Log.debug "PATH: " + url.path req.content_length = body_stream.size #req.content_type = i req.body_stream = body_stream http = Net::HTTP.new(url.host, url.port) http.use_ssl = true if url.scheme == "https" res = http.request(req) res end