class Reactio::FaradayEngine

Constants

MIME_TYPE
USER_AGENT

Public Class Methods

new(app, api_key) click to toggle source
Calls superclass method
# File lib/reactio/faraday_engine.rb, line 9
def initialize(app, api_key)
  super(app)
  @api_key = api_key
end

Public Instance Methods

call(request_env) click to toggle source
# File lib/reactio/faraday_engine.rb, line 14
def call(request_env)
  set_request_header(request_env)
  encode_body(request_env)
  @app.call(request_env).on_complete do |response_env|
    decode_body(response_env)
  end
end

Private Instance Methods

decode_body(env) click to toggle source
# File lib/reactio/faraday_engine.rb, line 37
def decode_body(env)
  env[:body] = JSON.parse(env[:body], symbolize_names: true)
end
encode_body(env) click to toggle source
# File lib/reactio/faraday_engine.rb, line 33
def encode_body(env)
  env[:body] = JSON.dump(env[:body])
end
set_request_header(env) click to toggle source
# File lib/reactio/faraday_engine.rb, line 24
def set_request_header(env)
  env[:request_headers].merge!(
    'Accept'        => MIME_TYPE,
    'Content-Type'  => MIME_TYPE,
    'X-Api-Key'     => @api_key,
    'User-Agent'    => USER_AGENT
  )
end