mirror of
https://github.com/lostisland/faraday.git
synced 2025-07-16 00:01:45 -04:00
Compare commits
2 Commits
3af5211900
...
1518a984c0
Author | SHA1 | Date | |
---|---|---|---|
|
1518a984c0 | ||
|
d1743e6476 |
@ -13,25 +13,26 @@ module Faraday
|
||||
|
||||
def initialize(logger:, options:)
|
||||
@logger = logger
|
||||
@filter = []
|
||||
@options = DEFAULT_OPTIONS.merge(options)
|
||||
unless %i[debug info warn error fatal].include?(@options[:log_level])
|
||||
@options[:log_level] = :info
|
||||
end
|
||||
@filter = []
|
||||
end
|
||||
|
||||
def_delegators :@logger, :debug, :info, :warn, :error, :fatal
|
||||
|
||||
def request(env)
|
||||
request_log = proc do
|
||||
public_send(log_level, 'request') do
|
||||
"#{env.method.upcase} #{apply_filters(env.url.to_s)}"
|
||||
end
|
||||
public_send(log_level, 'request', &request_log)
|
||||
|
||||
log_headers('request', env.request_headers) if log_headers?(:request)
|
||||
log_body('request', env[:body]) if env[:body] && log_body?(:request)
|
||||
end
|
||||
|
||||
def response(env)
|
||||
status = proc { "Status #{env.status}" }
|
||||
public_send(log_level, 'response', &status)
|
||||
public_send(log_level, 'response') { "Status #{env.status}" }
|
||||
|
||||
log_headers('response', env.response_headers) if log_headers?(:response)
|
||||
log_body('response', env[:body]) if env[:body] && log_body?(:response)
|
||||
@ -40,8 +41,7 @@ module Faraday
|
||||
def exception(exc)
|
||||
return unless log_errors?
|
||||
|
||||
error_log = proc { exc.full_message }
|
||||
public_send(log_level, 'error', &error_log)
|
||||
public_send(log_level, 'error') { exc.full_message }
|
||||
|
||||
log_headers('error', exc.response_headers) if exc.respond_to?(:response_headers) && log_headers?(:error)
|
||||
return unless exc.respond_to?(:response_body) && exc.response_body && log_body?(:error)
|
||||
@ -103,21 +103,15 @@ module Faraday
|
||||
end
|
||||
|
||||
def log_level
|
||||
unless %i[debug info warn error fatal].include?(@options[:log_level])
|
||||
return :info
|
||||
end
|
||||
|
||||
@options[:log_level]
|
||||
end
|
||||
|
||||
def log_headers(type, headers)
|
||||
headers_log = proc { apply_filters(dump_headers(headers)) }
|
||||
public_send(log_level, type, &headers_log)
|
||||
public_send(log_level, type) { apply_filters(dump_headers(headers)) }
|
||||
end
|
||||
|
||||
def log_body(type, body)
|
||||
body_log = proc { apply_filters(dump_body(body)) }
|
||||
public_send(log_level, type, &body_log)
|
||||
public_send(log_level, type) { apply_filters(dump_body(body)) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,5 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Faraday
|
||||
VERSION = '2.7.9'
|
||||
VERSION = '2.7.10'
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user