Class: FlexCommerceApi::JsonApiClientExtension::LoggingMiddleware

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/flex_commerce_api/json_api_client_extension/logging_middleware.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ LoggingMiddleware

Returns a new instance of LoggingMiddleware.



7
8
9
10
11
# File 'lib/flex_commerce_api/json_api_client_extension/logging_middleware.rb', line 7

def initialize(*args)
  super
  self.request_id = 0
  self.logger = FlexCommerceApi.logger
end

Instance Attribute Details

#loggerObject

Returns the value of attribute logger.



6
7
8
# File 'lib/flex_commerce_api/json_api_client_extension/logging_middleware.rb', line 6

def logger
  @logger
end

#request_idObject

Returns the value of attribute request_id.



6
7
8
# File 'lib/flex_commerce_api/json_api_client_extension/logging_middleware.rb', line 6

def request_id
  @request_id
end

Instance Method Details

#call(env) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/flex_commerce_api/json_api_client_extension/logging_middleware.rb', line 14

def call(env)
  self.request_id += 1
  @app.call(env).on_complete do |response_env|
    logger.debug("FlexApi::Request  id #{request_id} #{env.method.to_s.upcase} #{env.url} started at #{Time.now}")
    logger.debug("\t >>> #{env[:request_body]}") unless  env[:request_body].nil? || env[:request_body].empty?
    logger.debug("\t <<< (#{env[:status]}) #{env.body}")
  end
end