Class: Spektrix::DebugMiddleware
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- Spektrix::DebugMiddleware
- Defined in:
- lib/spektrix/debug_middleware.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#call(env) ⇒ Object
Public: Used by Faraday to execute the middleware during the request/response cycle.
-
#initialize(app, logger = nil, progname = nil) ⇒ DebugMiddleware
constructor
Public: Initialize a new Logger middleware.
Constructor Details
#initialize(app, logger = nil, progname = nil) ⇒ DebugMiddleware
Public: Initialize a new Logger middleware.
app - A Faraday-compatible middleware stack or application. logger - A Logger-compatible object to which the log information will
be recorded.
progname - A String containing a program name to use when logging.
Returns a Logger instance.
20 21 22 23 24 |
# File 'lib/spektrix/debug_middleware.rb', line 20 def initialize(app, logger = nil, progname = nil) super(app) @logger = logger || self.class.default_logger @progname = progname end |
Class Method Details
.default_logger ⇒ Object
6 7 8 9 |
# File 'lib/spektrix/debug_middleware.rb', line 6 def self.default_logger require "logger" ::Logger.new(STDOUT) end |
Instance Method Details
#call(env) ⇒ Object
Public: Used by Faraday to execute the middleware during the request/response cycle.
env - A Faraday-compatible request environment.
Returns the result of the parent application execution.
33 34 35 36 37 38 39 40 |
# File 'lib/spektrix/debug_middleware.rb', line 33 def call(env) if Spektrix.debug_request @logger.info(@progname) { "#{env[:method].upcase} #{env[:url]}" } @logger.debug(@progname) { curl_output(env[:request_headers], env[:body]).inspect } end super end |