Class: OpenKit::Request::PostMultipartDelegate
Instance Attribute Summary
Attributes inherited from BaseDelegate
#app_key, #host, #path, #scheme, #secret_key
Instance Method Summary
collapse
#base_uri, #uri
Constructor Details
Returns a new instance of PostMultipartDelegate.
29
30
31
32
33
|
# File 'lib/openkit/request/post_multipart.rb', line 29
def initialize(path, req_params, upload)
super(path)
@req_params = req_params
@upload = upload
end
|
Instance Method Details
#flat_names(parameters, running = '', &block) ⇒ Object
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/openkit/request/post_multipart.rb', line 51
def flat_names(parameters, running = '', &block)
parameters.each do |k,v|
name = (running.length == 0) ? k.to_s : running + "[#{k}]"
if v.is_a?(Hash)
flat_names(v, name, &block)
else
yield name, v
end
end
end
|
#flatten_params(parameters) ⇒ Object
43
44
45
46
47
48
49
|
# File 'lib/openkit/request/post_multipart.rb', line 43
def flatten_params(parameters)
flattened = {}
flat_names(parameters, '') do |name,v|
flattened[name] = v
end
flattened
end
|
#net_request ⇒ Object
35
36
37
38
39
40
41
|
# File 'lib/openkit/request/post_multipart.rb', line 35
def net_request
up_io = UploadIO.new(@upload.file, "application/octet-stream", "upload")
flat_params = flatten_params(@req_params)
req = Net::HTTP::Post::Multipart.new(uri.request_uri, flat_params.merge(@upload.param_name => up_io))
req['Accept'] = "application/json"
req
end
|