def post(url, query={}, headers={})
if query.is_a?(String)
return request_with_entity(:post, url, query, :headers => headers)
end
node = {}
class << node
def search(*args); []; end
end
node['method'] = 'POST'
node['enctype'] = 'application/x-www-form-urlencoded'
form = Form.new(node)
query.each { |k,v|
if v.is_a?(IO)
form.enctype = 'multipart/form-data'
ul = Form::FileUpload.new({'name' => k.to_s},::File.basename(v.path))
ul.file_data = v.read
form.file_uploads << ul
else
form.fields << Form::Field.new({'name' => k.to_s},v)
end
}
post_form(url, form, headers)
end