Httmultiparty
*UNMAINTAINED* HTTMultiParty is a thin wrapper around HTTParty to provide multipart uploads.
Install / Use
/learn @jwagener-soundcloud/HttmultipartyREADME
Description
HTTMultiParty is a thin wrapper around HTTParty to provide multipart uploads.
Requirements
- httparty
- multipart-post
- mimemagic
Quick Start and Example
To start just include HTTMultiParty instead of include HTTParty into
your client class. When you pass a query with an instance of a File as
a value for a PUT or POST request, the wrapper will use a bit of magic
and multipart-post to execute a multipart upload:
require 'httmultiparty'
class SomeClient
include HTTMultiParty
base_uri 'http://localhost:3000'
end
response = SomeClient.post('/', :query => {
:foo => 'bar',
:somefile => File.new('README.md')
})
Aside from that it provides all the usual HTTParty gimmicks.
MIME type support
If you want the library to detect the MIME types of the uploaded files, then
you need to enable it by supplying the :detect_mime_type option as true
for POST or PUT requests. Otherwise, they will be uploaded with the default
MIME type of application/octet-stream. For example:
require 'httmultiparty'
class SomeClient
include HTTMultiParty
base_uri 'http://localhost:3000'
end
response = SomeClient.post('/', :query => {
:foo => 'bar',
:somefile => File.new('README.md')
}, :detect_mime_type => true)
File class support
Instead of using File class, you can use any class that responds to
a read method as a file object. If you are using Rails, you can use
ActionDispatch::Http::UploadedFile object directly as it responds to
read method. The read method should act similar to the IO#read
method. To set the filename your file class can optionally respond to
the original_filename method, which should return a String.
Related Skills
node-connect
341.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.6kCommit, push, and open a PR
