Sha256: bb95c5744f1f7390c2c4c97c2f56bff63d4b50adf5fa37d210818089ea1728ed
Contents?: true
Size: 1.21 KB
Versions: 16
Compression:
Stored size: 1.21 KB
Contents
# frozen_string_literal: true module HTTPX module Plugins # # This plugin adds support for passing `http-form_data` objects (like file objects) as "multipart/form-data"; # # HTTPX.post(URL, form: form: { image: HTTP::FormData::File.new("path/to/file")}) # # https://gitlab.com/honeyryderchuck/httpx/wikis/Multipart-Uploads # module Multipart module FormTranscoder module_function class Encoder extend Forwardable def_delegator :@raw, :content_type def_delegator :@raw, :to_s def_delegator :@raw, :read def initialize(form) @raw = HTTP::FormData.create(form) end def bytesize @raw.content_length end def force_encoding(*args) @raw.to_s.force_encoding(*args) end def to_str @raw.to_s end end def encode(form) Encoder.new(form) end end def self.load_dependencies(*) require "http/form_data" end def self.configure(*) Transcoder.register("form", FormTranscoder) end end register_plugin :multipart, Multipart end end
Version data entries
16 entries across 16 versions & 1 rubygems