Module: Discord
- Defined in:
- lib/discord_notifier.rb,
lib/discord_notifier/embed.rb,
lib/discord_notifier/version.rb,
lib/discord_notifier/form_data.rb,
lib/discord_notifier/backports/hash.rb,
lib/discord_notifier/backports/http.rb
Defined Under Namespace
Modules: Backports, Notifier
Classes: Config, Embed
Constant Summary
collapse
- BOUNDARY =
"DiscordNotifier"
Class Method Summary
collapse
Class Method Details
6
7
8
9
10
11
|
# File 'lib/discord_notifier/form_data.rb', line 6
def self.form_data_request(uri, params)
req = Net::HTTP::Post.new(uri)
req.add_field "Content-Type", "multipart/form-data; boundary=#{BOUNDARY}"
req.body = Discord.multipart_form_data(params)
return req
end
|
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/discord_notifier/form_data.rb', line 13
def self.multipart_form_data(config)
file = config[:file]
filename = File.basename(file.path)
file_contents = File.read(file)
payload = config.select {|k, v| k != :file}
form = <<~eos
--#{BOUNDARY}
Content-Disposition: form-data; name="file"; filename="#{filename}"
#{file_contents}
--#{BOUNDARY}
Content-Disposition: form-data; name="payload_json"
#{payload.to_json}
--#{BOUNDARY}--
eos
form.encode crlf_newline: true
end
|