rack-override-path 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rack/override_path.rb +10 -5
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f9bc70648738871efd01b5a306b49345ae9f6648f38e27988e4483556b8af951
4
- data.tar.gz: e9a2fab0d5dffeab3285e75bd98cff7a457f805c67ea2255405060b162083a74
3
+ metadata.gz: e04ac62cea90d64e86257689777f6a70d0ce0e8ad48dfcf0b3658ffcb98e8b86
4
+ data.tar.gz: 9c01cfa8bbbab9b9fef48d6e12c942dfbf5fce724b517515f8c583a63adf9956
5
5
  SHA512:
6
- metadata.gz: 2211420a857f9f9d4a76e222353bd1f85e8b32f68f219c83cbc746472dff381d86d933fd7d2588114defb90d7fab040755f09e6638d07b3134885d33945720d1
7
- data.tar.gz: d231b967249ab9ae439ad1fce00582c4f7740a098f91e1298e94b72fb9935503d10906fd4fec39db5782b4dfd9a3114131c9c1e23bdc6779a7f6793ca4866c59
6
+ metadata.gz: 87954614b55f9e498ea1b29468f7137514fb9ab9383eeef00dc50da9b449adb3cfccce53bd4de2ccd4d478deae6a3ef8c0fce96d90cdf804233e994091d49cfa
7
+ data.tar.gz: ef81146204f7600c61cc53b64549f247c7b767bdd60ae542e5928f15448004fff100f926de46c5c88f8637425952e000b8037ffdb5a645782a1a3994c55d6175
@@ -20,20 +20,25 @@ module Rack
20
20
  req = request(env)
21
21
  if override_path?(req)
22
22
  override_path(req)
23
- elsif path_overridden?(req.path)
23
+ elsif path_overridden?(req.path) && override_matches_method?(req)
24
24
  handle_override(req.path, env)
25
- elsif get_overrides?(req)
26
- get_overrides(req)
25
+ elsif get_override?(req)
26
+ get_override(req)
27
27
  else
28
28
  @app.call(env)
29
29
  end
30
30
  end
31
31
 
32
- def get_overrides?(req)
32
+ def override_matches_method?(req)
33
+ o = override(req.path)
34
+ o['method'].nil? ? true : o['method'].downcase == req.request_method.downcase
35
+ end
36
+
37
+ def get_override?(req)
33
38
  req.path == '/override/path' && req.get?
34
39
  end
35
40
 
36
- def get_overrides(_req)
41
+ def get_override(_req)
37
42
  [200, { 'Content-Type' => 'application/json' }, [@overridden_paths.to_json]]
38
43
  end
39
44
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-override-path
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Bonsu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-02 00:00:00.000000000 Z
11
+ date: 2021-04-07 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A Rack middleware gem that overrides responses for web applications
14
14
  email: adam@bonsu.io