Tag: 请求标头

在RSpec请求规范中使用Capybara时,设置自定义请求标头的最佳方法是什么?

我正在使用set_headers方法修补Capybara :: Session,该方法分配给Capybara :: RackTest :: Browser的选项属性(我已经从attr_reader更改为attr_accessor)。 补丁: class Capybara::RackTest::Browser attr_accessor :options end class Capybara::Session def set_headers(headers) if driver.browser.respond_to?(:options=) #because we’ve monkey patched it above options = driver.browser.options if options.nil? || options[:headers].nil? options ||= {} options[:headers] = headers else options[:headers].merge!(headers) end else raise Capybara::NotSupportedByDriverError end end end 在我的请求规范中,我正在做: page.set_headers(“REMOTE_ADDR” => “1.2.3.4”) visit root_path 这有效,但我想知道是否有更好的方法,只是能够在请求上设置自定义remote_ip / […]