Sha256: 5a5d16835609f0bc86b7e02f84e4296350114ae9d49dea30cd25c6923d310ca0
Contents?: true
Size: 1000 Bytes
Versions: 1
Compression:
Stored size: 1000 Bytes
Contents
# frozen_string_literal: true module HTTPX module Plugins::Multipart module Part module_function def call(value) # take out specialized objects of the way if value.respond_to?(:filename) && value.respond_to?(:content_type) && value.respond_to?(:read) return [value, value.content_type, value.filename] end content_type = filename = nil if value.is_a?(Hash) content_type = value[:content_type] filename = value[:filename] value = value[:body] end value = value.open(:binmode => true) if Object.const_defined?(:Pathname) && value.is_a?(Pathname) if value.is_a?(File) filename ||= File.basename(value.path) content_type ||= MimeTypeDetector.call(value, filename) || "application/octet-stream" [value, content_type, filename] else [StringIO.new(value.to_s), content_type || "text/plain"] end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
httpx-0.14.1 | lib/httpx/plugins/multipart/part.rb |