我正在使用VCR gem来记录http交互,并在将来重播它们。我想过滤掉uri请求中的实际密码值。下面是uri的样例:
http://services.somesite.com/Services.asmx/Cabins
Username=long&Password=john&StartDate=03%2F22%2F2012&EndDate=03%2F29%2F2012虽然这里提供了解释,但在尝试了几次后,我仍然不确定如何做到这一点:
https://www.relishapp.com/myronmarston/vcr/v/2-0-0/docs/configuration/filter-sensitive-data
任何帮助都将不胜感激。
发布于 2012-03-23 05:54:30
VCR.configure do |c|
c.filter_sensitive_data("<SOMESITE_PASSWORD>") do
ENV['SOMESITE_PASSWORD']
# or $credentials['somesite']['password'] or whatever
end
end本质上,您给VCR一些占位符文本,然后块需要返回真实的密码,从规范的密码“存储库”读取它。
请注意,只有在第一次记录请求时才需要真正的密码;在随后的运行中,它可以是假密码(只要它与发出请求的代码使用的假密码相同)。
发布于 2015-09-12 03:46:19
对于rails 4+,如果您使用的是secrets.yml,您可能希望这样做
VCR.configure do |config|
Rails.application.secrets.each do |k,v|
config.filter_sensitive_data("ENV[#{k}]") { v }
end
end现在你一定不会忘记任何
https://stackoverflow.com/questions/9816152
复制相似问题