class Google::Apis::Core::FilePart

Part of a multipart request for holding arbitrary content.

@private

Public Class Methods

new(io, header = {}) click to toggle source

@param [IO] io

IO stream

@param [Hash] header

Additional headers
# File lib/google/apis/core/multipart.rb, line 55
def initialize(io, header = {})
  @io = io
  @header = header
  @length = io.respond_to?(:size) ? io.size : nil
end

Public Instance Methods

to_io(boundary) click to toggle source
# File lib/google/apis/core/multipart.rb, line 61
def to_io(boundary)
  head = ''
  head << "--#{boundary}\r\n"
  @header.each do |(k, v)|
    head << "#{k}: #{v}\r\n"
  end
  head << "Content-Length: #{@length}\r\n" unless @length.nil?
  head << "Content-Transfer-Encoding: binary\r\n"
  head << "\r\n"
  Google::Apis::Core::CompositeIO.new(StringIO.new(head), @io, StringIO.new("\r\n"))
end