В Ruby-doc Net / HTTP есть подробный пример потоковых тел ответов - он применяется при попытке загрузить большой файл.
Я ищу эквивалентныйфрагмент кода для загрузки файла через PUT.Потратил немало времени, пытаясь заставить код работать без удачи.Я думаю, что мне нужно реализовать определенный интерфейс и передать его в request.body_stream
Мне нужно Потоковое , потому что я хочу изменить содержимое файла во время его загрузки, поэтому я хочуиметь доступ к буферизованным чанкам во время загрузки.Я бы с удовольствием использовал библиотеку, такую как http.rb или rest-client, если бы я мог использовать потоковую передачу.
Заранее спасибо!Для справки: рабочая не потоковая версия
uri = URI("http://localhost:1234/upload")
Net::HTTP.start(uri.host, uri.port) do |http|
request = Net::HTTP::Put.new uri
File.open("/home/files/somefile") do |f|
request.body = f.read()
end
# Ideally I would need to use **request.body_stream** instead of **body** to get streaming
http.request request do |response|
response.read_body do |result|
# display the operation result
puts result
end
end
end