mirror of
https://github.com/ditkrg/idempotent-request.git
synced 2026-01-22 22:06:44 +00:00
Add caching for successful responses
This commit is contained in:
parent
897fa0cbad
commit
ab29371424
@ -19,11 +19,8 @@ module IdempotentRequest
|
|||||||
def write(*data)
|
def write(*data)
|
||||||
status, headers, response = data
|
status, headers, response = data
|
||||||
response = response.body if response.respond_to?(:body)
|
response = response.body if response.respond_to?(:body)
|
||||||
|
return data unless (200..226).include?(status)
|
||||||
return data unless status == 200
|
|
||||||
|
|
||||||
storage.write(key, payload(status, headers, response))
|
storage.write(key, payload(status, headers, response))
|
||||||
|
|
||||||
data
|
data
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -81,14 +81,27 @@ RSpec.describe IdempotentRequest::RequestManager do
|
|||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when status is 200' do
|
describe 'when status 2xx' do
|
||||||
let(:data) do
|
context 'when status is 200' do
|
||||||
[200, {}, 'body']
|
let(:data) do
|
||||||
|
[200, {}, 'body']
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should be stored' do
|
||||||
|
request_storage.write(*data)
|
||||||
|
expect(memory_storage.read(request.key)).to eq(payload)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should be stored' do
|
context 'when status is 226' do
|
||||||
request_storage.write(*data)
|
let(:data) do
|
||||||
expect(memory_storage.read(request.key)).to eq(payload)
|
[226, {}, 'body']
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should be stored' do
|
||||||
|
request_storage.write(*data)
|
||||||
|
expect(memory_storage.read(request.key)).to eq(payload)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -97,7 +110,7 @@ RSpec.describe IdempotentRequest::RequestManager do
|
|||||||
[404, {}, 'body']
|
[404, {}, 'body']
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'should be stored' do
|
it 'should not be stored' do
|
||||||
request_storage.write(*data)
|
request_storage.write(*data)
|
||||||
expect(memory_storage.read(request.key)).to be_nil
|
expect(memory_storage.read(request.key)).to be_nil
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user