Class: Mock::Twilio::Middleware::Proxy

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/mock/twilio/middleware/proxy.rb

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ Proxy



9
10
11
# File 'lib/mock/twilio/middleware/proxy.rb', line 9

def initialize(app)
  super(app)
end

Instance Method Details

#call(env) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/mock/twilio/middleware/proxy.rb', line 13

def call(env)
  env.url.host = env.request.proxy.host
  env.url.port = env.request.proxy.port
  env.url.scheme = env.request.proxy.scheme
  env.request_headers.merge!({ 'Prefer' => 'code=429' }) if forced_error(env.request_body)
  super
end

#forced_error(request_body) ⇒ Object



21
22
23
24
25
26
# File 'lib/mock/twilio/middleware/proxy.rb', line 21

def forced_error(request_body)
  return unless request_body && request_body["Body"]

  string = ::Rack::Utils.parse_nested_query(request_body)
  string["Body"].downcase.include?('error')
end