X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Ffeature%2Ffaraday%2Fupload_io.rb;fp=3rdparty%2Fmodules%2Faviator%2Ffeature%2Ffaraday%2Fupload_io.rb;h=0000000000000000000000000000000000000000;hb=6e1426dc77fb4e5d51f07c187c6f2219431dc31e;hp=9130d159df06caa012b2f05e02fb6b2325952974;hpb=87423ba664cd5f2bb462ebadd08b1a90d0fe1c8d;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/aviator/feature/faraday/upload_io.rb b/3rdparty/modules/aviator/feature/faraday/upload_io.rb deleted file mode 100644 index 9130d159d..000000000 --- a/3rdparty/modules/aviator/feature/faraday/upload_io.rb +++ /dev/null @@ -1,67 +0,0 @@ -begin - require 'composite_io' - require 'parts' - require 'stringio' -rescue LoadError - $stderr.puts "Install the multipart-post gem." - raise -end - -module Faraday - # Similar but not compatible with ::CompositeReadIO provided by multipart-post. - class CompositeReadIO - def initialize(*parts) - @parts = parts.flatten - @ios = @parts.map { |part| part.to_io } - @index = 0 - end - - def length - @parts.inject(0) { |sum, part| sum + part.length } - end - - def rewind - @ios.each { |io| io.rewind } - @index = 0 - end - - # Read from IOs in order until `length` bytes have been received. - def read(length = nil, outbuf = nil) - got_result = false - outbuf = outbuf ? outbuf.replace("") : "" - - while io = current_io - if result = io.read(length) - got_result ||= !result.nil? - result.force_encoding("BINARY") if result.respond_to?(:force_encoding) - outbuf << result - length -= result.length if length - break if length == 0 - end - advance_io - end - (!got_result && length) ? nil : outbuf - end - - def close - @ios.each { |io| io.close } - end - - def ensure_open_and_readable - # Rubinius compatibility - end - - private - - def current_io - @ios[@index] - end - - def advance_io - @index += 1 - end - end - - UploadIO = ::UploadIO - Parts = ::Parts -end