class MyTargetApi::LogRequestParametersDecorator
Requests
Constants
- CONTENT_OUTPUT_LIMIT
Attributes
logger[R]
origin[R]
Public Class Methods
new(origin, logger: NilLogger)
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 12 def initialize(origin, logger: NilLogger) @origin = origin @logger = logger end
Public Instance Methods
delete(url, params = {}, headers = {})
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 29 def delete(url, params = {}, headers = {}) log_request(method: 'DELETE', url: url, params: params, headers: headers) origin.delete(url, params, headers) end
get(url, params = {}, headers = {})
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 17 def get(url, params = {}, headers = {}) log_request(method: 'GET', url: url, params: params, headers: headers) origin.get(url, params, headers) end
post(url, params = {}, headers = {})
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 23 def post(url, params = {}, headers = {}) log_request(method: 'POST', url: url, params: params, headers: headers) origin.post(url, params, headers) end
upload(url, content, params = {}, headers = {})
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 35 def upload(url, content, params = {}, headers = {}) log_request(method: 'POST', url: url, params: params, headers: headers, content: content) origin.upload(url, content, params, headers) end
Private Instance Methods
inspect_content(content)
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 59 def inspect_content(content) return '' unless content result = "Body content:\n" result += if content.size > CONTENT_OUTPUT_LIMIT <<~LOG << first #{CONTENT_OUTPUT_LIMIT} symbols >> #{content[0...CONTENT_OUTPUT_LIMIT]} LOG else content end result end
inspect_headers(params)
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 75 def inspect_headers(params) if params.empty? 'Headers: No headers' else "Headers:\n#{params.map { |name, value| "#{name}: #{value}" }.join("\n")}" end end
inspect_param(value)
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 91 def inspect_param(value) value.is_a?(String) ? value : value.inspect end
inspect_params(params)
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 83 def inspect_params(params) if params.empty? 'Params: No params' else "Params:\n#{params.map { |name, value| "#{name}: #{inspect_param(value)}" }.join("\n")}" end end
inspect_request(method:, url:, params:, headers:)
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 51 def inspect_request(method:, url:, params:, headers:) <<~LOG #{method} #{url} #{inspect_headers(headers)} #{inspect_params(params)} LOG end
log_request(method:, url:, params:, headers:, content: nil)
click to toggle source
# File lib/my_target_api/log_request_parameters_decorator.rb, line 45 def log_request(method:, url:, params:, headers:, content: nil) logger << "#{inspect_request(method: method, url: url, params: params, headers: headers)}"\ "#{inspect_content(content)}" end