Sha256: 89c4841d5137dc41dd3a82c303994ca3987f128c9eb25baabc7fad21219173cd
Contents?: true
Size: 983 Bytes
Versions: 2
Compression:
Stored size: 983 Bytes
Contents
require 'faraday' module Twitter module REST class Request class MultipartWithFile < Faraday::Middleware CONTENT_TYPE = 'Content-Type' GIF_REGEX = /\.gif$/i JPEG_REGEX = /\.jpe?g/i PNG_REGEX = /\.png$/i def call(request) request.body.each do |key, value| next unless value.respond_to?(:to_io) request.body[key] = Faraday::UploadIO.new(value, mime_type(value.path), value.path) end if request.body.is_a?(::Hash) @app.call(request) end private def mime_type(path) case path when GIF_REGEX 'image/gif' when JPEG_REGEX 'image/jpeg' when PNG_REGEX 'image/png' else 'application/octet-stream' end end end end end end Faraday::Request.register_middleware :twitter_multipart_with_file => Twitter::REST::Request::MultipartWithFile
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
twitter-5.14.0 | lib/twitter/rest/request/multipart_with_file.rb |
twitter-5.13.0 | lib/twitter/rest/request/multipart_with_file.rb |