Sha256: 47f526dc9ad86896eae2f2c5e723a00ac6710ba776aef295b8f720a2c66a344a
Contents?: true
Size: 1.14 KB
Versions: 10
Compression:
Stored size: 1.14 KB
Contents
require 'rails_helper' describe LHC do context 'interceptor response competition' do before(:each) do class LocalCacheInterceptor < LHC::Interceptor @@cached = false cattr_accessor :cached def before_request(request) if @@cached return LHC::Response.new(Typhoeus::Response.new(response_body: 'Im served from local cache'), nil) end end end class RemoteCacheInterceptor < LHC::Interceptor def before_request(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
10 entries across 10 versions & 1 rubygems