Sha256: 24e9e4c06499a67d45bb11a3d173b08754ae925702d83a34dde02d2111aba5f7
Contents?: true
Size: 1.19 KB
Versions: 22
Compression:
Stored size: 1.19 KB
Contents
require 'rails_helper' describe LHC do context 'interceptor response competition' do before(:each) do # rubocop:disable Style/ClassVars class LocalCacheInterceptor < LHC::Interceptor @@cached = false cattr_accessor :cached def before_request if @@cached return LHC::Response.new(Typhoeus::Response.new(response_body: 'Im served from local cache'), nil) end end end # rubocop:enable Style/ClassVars class RemoteCacheInterceptor < LHC::Interceptor def before_request if request.response.nil? return LHC::Response.new(Typhoeus::Response.new(response_body: 'Im served from remote cache'), nil) end end end LHC.configure { |c| c.interceptors = [LocalCacheInterceptor, RemoteCacheInterceptor] } end it 'can handle multiple interceptors that compete for returning the response' do response = LHC.get('http://local.ch') expect(response.body).to eq 'Im served from remote cache' LocalCacheInterceptor.cached = true response = LHC.get('http://local.ch') expect(response.body).to eq 'Im served from local cache' end end end
Version data entries
22 entries across 22 versions & 1 rubygems