class Twimock::API::Application

Rack Application Net::HTTP は ShamRack で偽装されるため, Excon (Socket) で通信する

Public Instance Methods

call(env) click to toggle source
# File lib/twimock/api/application.rb, line 8
def call(env)
  request(env)
end

Private Instance Methods

request(env) click to toggle source
# File lib/twimock/api/application.rb, line 14
def request(env)
  rackreq = Rack::Request.new(env)
  connection = Excon.new(rackreq.url)

  options = {}
  options[:method]  = rackreq.request_method
  options[:path]    = rackreq.path
  options[:headers] = rackreq.env.select{|k,v| k !~ /^rack\./}
  options[:body]    = rackreq.body.read

  res = connection.request(options)
  [ res.status, res.headers, [ res.body ] ]
end