20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/tumugi/plugin/task/webhook.rb', line 20
def run
validate_parameters!
conn = Faraday.new(url: url) do |c|
c.request :retry
c.request body_encoding.downcase.to_sym
c.response :follow_redirects
c.response :webhook_logger, logger
c.adapter Faraday.default_adapter
end
m = http_method.downcase.to_sym
http_body = [:get, :delete].include?(m) ? nil : body
begin
res = conn.run_request(m, nil, http_body, nil)
if !res.success?
raise Tumugi::TumugiError.new("#{m} #{url} failed: #{res.status} #{res.body}")
end
rescue => e
raise Tumugi::TumugiError.new("#{m} #{url} failed", e)
end
if _output && _output.is_a?(Tumugi::Plugin::FileSystemTarget)
_output.open("w") do |f|
f.write(res.body)
end
end
end
|