Class: Jess::HttpClient::LoggingDecorator

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/jess/http_client/logging_decorator.rb

Overview

Wraps a Net::HTTP object to log all requests to a given Logger object.

Instance Method Summary collapse

Constructor Details

#initialize(logger, http) ⇒ LoggingDecorator

Returns a new instance of LoggingDecorator.



7
8
9
10
# File 'lib/jess/http_client/logging_decorator.rb', line 7

def initialize(logger, http)
  super(http)
  @logger = logger
end

Instance Method Details

#request(req) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/jess/http_client/logging_decorator.rb', line 12

def request(req)
  return super if logger.nil?

  log_request(req)
  response = super
  log_response(response, req.uri)
  response
rescue Error => e
  logger.error(e.to_s) if logger
  raise
end