class Juknife::Middleware::RequestDSL
A Faraday middleware to interpret Juknife
request DSL
Attributes
params[R]
Public Class Methods
new(app, params = {}, &block)
click to toggle source
Calls superclass method
# File lib/juknife/middleware/request_dsl.rb, line 14 def initialize(app, params = {}, &block) super(app) @params = params instance_eval(&block) end
Public Instance Methods
call(env)
click to toggle source
# File lib/juknife/middleware/request_dsl.rb, line 20 def call(env) # rubocop: disable Metrics/AbcSize uri = URI.parse(url_builder.call) uri.query = query_builder&.call&.to_query env[:url] = uri env[:method] = http_method env[:body] = body_builder&.call env[:request_headers] ||= {} if user_agent_builder env[:request_headers]['User-Agent'] = user_agent_builder&.call end @app.call(env) end