class FaradayMDK::Session
Inject the MDK session contest into a request via a HTTP header, and set timeouts based on the MDK session timeout.
Public Class Methods
new(app, mdk_session)
click to toggle source
Calls superclass method
# File lib/faraday_mdk.rb, line 7 def initialize(app, mdk_session) super(app) @mdk_session = mdk_session end
Public Instance Methods
call(request_env)
click to toggle source
# File lib/faraday_mdk.rb, line 12 def call(request_env) request_env[:request_headers]["X-MDK-CONTEXT"] = @mdk_session.externalize if @mdk_session.getRemainingTime != nil timeout = Integer(@mdk_session.getRemainingTime) # Rounding down means 0.99 will end up as 0 second timeout, so set # minimum timeout of 1 second: if timeout == 0 timeout = 1 end request_env[:request][:timeout] = timeout request_env[:request][:open_timeout] = timeout end @app.call(request_env) end