response_bank 1.3.2 → 1.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2fbaca21dd928ad2b387d10300acbbb61dedca00a8cdab23247484af8c749bf
4
- data.tar.gz: a4f81948c53b5e574e5bd3cb3a3c9d621c387a3040706aa0ee873ffc5dab5362
3
+ metadata.gz: 957a84197155753d2caf49d54afce097d7a1a09811c967db2198f92e9767b0ba
4
+ data.tar.gz: 81d88f771d974341623fe5ed2cbc612ad4817f3511e28f31c9e753156f32d3a7
5
5
  SHA512:
6
- metadata.gz: b3a0956f4ab5b627d4e80f4349c16cc830b49eecb602357b52aedc3e60703ddd2547bca663656d28b4525dfd9f47a4b67d226f9eaca4322ff9da1acfa1351c00
7
- data.tar.gz: 602e5ed4aca5b96d30b61fed0d90c814689424b986374f9f6030ee4f03c6c41db6138cd7542be475bd86c3cb94fcd77453d52a6e7b58c5d954f50ca2a25ead3b
6
+ metadata.gz: '0188e02f3f014798ad3c88da07268caef4bc3fca5edacec0750ea57a53107c8e43b28343dcb7e75d7cfc7ba970be7dcc3750627bb5fd6b76cf8bad253d08fde6'
7
+ data.tar.gz: 5d227ae976f8cac3074ea9e191866b36a5d6ed8b7a85dd7f553988509f957bf3dfc9ac5c620d7f065fe92f395fd66bc0a06642eaf6b81eb4e00487ab109c6586
@@ -21,6 +21,10 @@ module ResponseBank
21
21
  params[:fill_cache] == "true"
22
22
  end
23
23
 
24
+ def skip_browser_cache?
25
+ false
26
+ end
27
+
24
28
  def serve_unversioned_cacheable_entry?
25
29
  false
26
30
  end
@@ -48,6 +52,7 @@ module ResponseBank
48
52
  cache_age_tolerance: cache_age_tolerance_in_seconds,
49
53
  serve_unversioned: serve_unversioned_cacheable_entry?,
50
54
  force_refill_cache: force_refill_cache?,
55
+ skip_browser_cache: skip_browser_cache?,
51
56
  headers: response.headers,
52
57
  &block
53
58
  )
@@ -13,6 +13,7 @@ module ResponseBank
13
13
  serve_unversioned:,
14
14
  headers:,
15
15
  force_refill_cache: false,
16
+ skip_browser_cache: false,
16
17
  cache_store: ResponseBank.cache_store,
17
18
  &block
18
19
  )
@@ -25,6 +26,7 @@ module ResponseBank
25
26
 
26
27
  @serve_unversioned = serve_unversioned
27
28
  @force_refill_cache = force_refill_cache
29
+ @skip_browser_cache = skip_browser_cache
28
30
  @cache_store = cache_store
29
31
  @headers = headers || {}
30
32
  @key_schema_version = @env.key?('cacheable.key_version') ? @env.key['cacheable.key_version'] : CACHE_KEY_SCHEMA_VERSION
@@ -59,7 +61,7 @@ module ResponseBank
59
61
  end
60
62
 
61
63
  def entity_tag
62
- @entity_tag ||= ResponseBank.cache_key_for(key: @key_data, version: @version_data, key_schema_version: @key_schema_version)
64
+ @entity_tag ||= ResponseBank.cache_key_for(key: @key_data, version: @version_data, key_schema_version: @key_schema_version, encoding: @env['response_bank.server_cache_encoding'])
63
65
  end
64
66
 
65
67
  def cache_key
@@ -81,8 +83,10 @@ module ResponseBank
81
83
 
82
84
  def try_to_serve_from_cache
83
85
  # Etag
84
- response = serve_from_browser_cache(entity_tag_hash, @env['HTTP_IF_NONE_MATCH'])
85
- return response if response
86
+ unless @skip_browser_cache
87
+ response = serve_from_browser_cache(entity_tag_hash, @env['HTTP_IF_NONE_MATCH'])
88
+ return response if response
89
+ end
86
90
 
87
91
  response = serve_from_cache(cache_key_hash, @serve_unversioned ? "*" : entity_tag_hash, @cache_age_tolerance)
88
92
  return response if response
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ResponseBank
3
- VERSION = "1.3.2"
3
+ VERSION = "1.3.4"
4
4
  end
data/lib/response_bank.rb CHANGED
@@ -30,7 +30,7 @@ module ResponseBank
30
30
  backing_cache_store.read(cache_key, raw: true)
31
31
  end
32
32
 
33
- def compress(content, encoding = "gzip")
33
+ def compress(content, encoding = "br")
34
34
  case encoding
35
35
  when 'gzip'
36
36
  Zlib.gzip(content, level: Zlib::BEST_COMPRESSION)
@@ -41,7 +41,7 @@ module ResponseBank
41
41
  end
42
42
  end
43
43
 
44
- def decompress(content, encoding = "gzip")
44
+ def decompress(content, encoding = "br")
45
45
  case encoding
46
46
  when 'gzip'
47
47
  Zlib.gunzip(content)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: response_bank
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Lütke
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-04-19 00:00:00.000000000 Z
12
+ date: 2023-09-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: msgpack
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  requirements: []
149
- rubygems_version: 3.4.10
149
+ rubygems_version: 3.4.19
150
150
  signing_key:
151
151
  specification_version: 4
152
152
  summary: Simple response caching for Ruby applications