Skip to content

Instantly share code, notes, and snippets.

@denwwer
Forked from sasimpson/gist:1112739
Created October 31, 2013 16:19
Show Gist options
  • Save denwwer/7252531 to your computer and use it in GitHub Desktop.
Save denwwer/7252531 to your computer and use it in GitHub Desktop.
require 'uri'
require 'net/http'
class Chunked
def initialize(data, chunk_size)
@size = chunk_size
if data.respond_to? :read
@file = data
end
end
def read(foo)
if @file
@file.read(@size)
end
end
def eof!
@file.eof!
end
def eof?
@file.eof?
end
end
parsed = URI::parse(@storage_url)
conn = Net::HTTP.new(parsed.host, parsed.port)
fp = File::open('test.txt')
parsed.path += '/foo/test.txt'
chunked = Chunked.new(fp, 5)
request = Net::HTTP::Put.new parsed.request_uri, {'x-auth-token' => @auth_token, 'Transfer-Encoding' => 'chunked', 'content-type' => 'text/plain'}
request.body_stream = chunked
conn.start do |http|
http.request(request)
end
fp.close
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment