Module: Docker::Multipart
Overview
This Mixin provides the ability to do multipart post requests.
Instance Method Summary collapse
- #build_multipart_post(path, *io_opts_list) ⇒ Object
-
#multipart_request(connection, request) ⇒ Object
Given a path, resource name, io, and Connection sends a multipart request.
Instance Method Details
#build_multipart_post(path, *io_opts_list) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/docker/multipart.rb', line 16 def build_multipart_post(path, *io_opts_list) = Hash[io_opts_list.map { |opts| [ opts[:name], UploadIO.new(opts[:io], opts[:content_type], opts[:file_name]) ] }] Net::HTTP::Post::Multipart.new(path, ) end |
#multipart_request(connection, request) ⇒ Object
Given a path, resource name, io, and Connection sends a multipart request.
6 7 8 9 10 11 12 13 14 |
# File 'lib/docker/multipart.rb', line 6 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 |