5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/rest_client/core_ext/logged_request.rb', line 5
def logged_request(opts = {}, &block)
response, exception = nil, nil
started = Time.now
response = execute(opts, &block)
rescue StandardError => ex
exception = ex.class.to_s
response = ex.respond_to?(:response) && ex.response
raise ex
ensure
time = (Time.now - started).round(2)
content_type = (opts[:headers])
payload = filter(content_type).new(data: opts[:payload]).filter
opts[:headers].reject! { |k, _| k.to_s.casecmp('authorization').zero? } if opts[:headers]
params = opts.except(:user, :password, :payload).merge(payload: payload)
ActiveSupport::Notifications.instrument PATTERN,
log_data(params, response, exception, time)
end
|