Sha256: f0a75adf91037bad6ac3b5423b09a2114ea3c5eec130cbdc0cc83ca0746cc965
Contents?: true
Size: 923 Bytes
Versions: 1
Compression:
Stored size: 923 Bytes
Contents
# This Mixin provides the ability to do multipart post requests. module Docker::Multipart include Docker::Error # Given a path, resource name, io, and Connection sends a multipart request. def multipart_request(connection, request) host, port = host_and_port(connection) res = Net::HTTP.start(host, port) { |http| http.request(request) } if (200..204).include?(res.code.to_i) res.body else raise UnexpectedResponseError, "Got status #{res.code}" end end def build_multipart_post(path, *io_opts_list) options = Hash[io_opts_list.map { |opts| [ opts[:name], UploadIO.new(opts[:io], opts[:content_type], opts[:file_name]) ] }] Net::HTTP::Post::Multipart.new(path, options) end private # Return the host and port from a Connection. def host_and_port(connection) [URI.parse(connection.url).host, connection.options[:port]] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
docker-api-0.0.6 | lib/docker/multipart.rb |