Class: Faraday::Adapter::ActionDispatch

Inherits:
Faraday::Adapter show all
Defined in:
lib/faraday/adapter/action_dispatch.rb

Constant Summary

Constants inherited from Faraday::Adapter

CONTENT_LENGTH

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Faraday::Adapter

#save_response

Methods included from Faraday::AutoloadHelper

#all_loaded_constants, #autoload_all, #load_autoloaded_constants, #lookup_module, #register_lookup_modules

Methods inherited from Middleware

dependency, loaded?, setup_parallel_manager

Constructor Details

#initialize(app, session) ⇒ ActionDispatch

Initializes a new middleware instance for each request. Instead of initiating an HTTP request with a web server, this adapter calls a Rails 3 app using integration tests.

app - The current Faraday request. session - An ActionDispatch::Integration::Session instance.

Returns nothing.



14
15
16
17
18
# File 'lib/faraday/adapter/action_dispatch.rb', line 14

def initialize(app, session)
  super(app)
  @session = session
  @session.reset!
end

Instance Attribute Details

#sessionObject (readonly)

Returns the value of attribute session.



4
5
6
# File 'lib/faraday/adapter/action_dispatch.rb', line 4

def session
  @session
end

Instance Method Details

#call(env) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/faraday/adapter/action_dispatch.rb', line 20

def call(env)
  super
  @session.__send__(env[:method], env[:url].request_uri, env[:body], env[:request_headers])
  resp = @session.response
  save_response(env, resp.status, resp.body, resp.headers)
  @app.call env
end