Sha256: 04cf51b470cb6c0d5c09381fb430ee3ee8039fbd587c912e7e32644e829ed4ca
Contents?: true
Size: 860 Bytes
Versions: 6
Compression:
Stored size: 860 Bytes
Contents
module ChatWork class Multipart < ::Faraday::Request::Multipart self.mime_type = "multipart/form-data".freeze def create_multipart(env, params) original_body = super(env, params) # replace from Faraday::Parts::EpiloguePart to ChatWork::Multipart::EpiloguePart parts = original_body.instance_variable_get(:@parts) parts.pop parts << EpiloguePart.new(env.request.boundary) new_body = ::Faraday::CompositeReadIO.new(*parts) env.request_headers[Faraday::Env::ContentLength] = new_body.length.to_s new_body end end class EpiloguePart < ::Faraday::Parts::EpiloguePart def initialize(boundary) # NOTE: ChatWork doesn't accepts ending "\r\n\r\n" of payload... # @part = "--#{boundary}--\r\n\r\n" @part = "--#{boundary}--\r\n" @io = StringIO.new(@part) end end end
Version data entries
6 entries across 6 versions & 1 rubygems