api_proxy 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +4 -3
- data/api_proxy.gemspec +1 -0
- data/lib/api_proxy.rb +3 -0
- data/lib/api_proxy/config.rb +4 -1
- data/lib/api_proxy/request_options_builder.rb +12 -3
- data/lib/api_proxy/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7234b39e258e9e2e84285f0cf39720cc43d6587b6f17db929da2150d46af931
|
4
|
+
data.tar.gz: 2e695372d5b8ce3f211b4cbb6627bdd9fecb564d8e073ac74351a0f8512a23a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ec33885e2e58f3d0d5fbc548d5950d40c4d52a435910862d9d723826d6e7e3ca1c4852b74a721a0228a170999154ec1eaa64d08136b6aa381a8fd94821f0c2d
|
7
|
+
data.tar.gz: c210dc5eb556c7afad43face37d5a6fb204b010804ac27858ceb01bb5d1775300f630f92271aaea48277ac48d1d67188cba080818285ec9b3cf3e8634f8e2366
|
data/Gemfile.lock
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
api_proxy (0.1.
|
4
|
+
api_proxy (0.1.3)
|
5
|
+
activesupport (>= 4.0)
|
5
6
|
api_signature (~> 0.1.2)
|
6
7
|
httparty (>= 0.15)
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: https://rubygems.org/
|
10
11
|
specs:
|
11
|
-
activesupport (5.2.
|
12
|
+
activesupport (5.2.1)
|
12
13
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
13
14
|
i18n (>= 0.7, < 2)
|
14
15
|
minitest (~> 5.1)
|
@@ -59,7 +60,7 @@ GEM
|
|
59
60
|
hashdiff (0.3.7)
|
60
61
|
httparty (0.16.2)
|
61
62
|
multi_xml (>= 0.5.2)
|
62
|
-
i18n (1.0
|
63
|
+
i18n (1.1.0)
|
63
64
|
concurrent-ruby (~> 1.0)
|
64
65
|
ice_nine (0.11.2)
|
65
66
|
iniparse (1.4.4)
|
data/api_proxy.gemspec
CHANGED
@@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_development_dependency 'rubocop'
|
32
32
|
spec.add_development_dependency 'webmock', '~> 3.4', '>= 3.4.2'
|
33
33
|
|
34
|
+
spec.add_dependency 'activesupport', '>= 4.0'
|
34
35
|
spec.add_dependency 'api_signature', '~> 0.1.2'
|
35
36
|
spec.add_dependency 'httparty', '>= 0.15'
|
36
37
|
end
|
data/lib/api_proxy.rb
CHANGED
data/lib/api_proxy/config.rb
CHANGED
@@ -10,7 +10,8 @@ module ApiProxy
|
|
10
10
|
:api_prefix,
|
11
11
|
:request_starts_with,
|
12
12
|
:request_allowed,
|
13
|
-
:custom_headers
|
13
|
+
:custom_headers,
|
14
|
+
:reject_params
|
14
15
|
|
15
16
|
def initialize
|
16
17
|
load_defaults
|
@@ -29,6 +30,8 @@ module ApiProxy
|
|
29
30
|
|
30
31
|
@request_allowed = ->(_env) { true }
|
31
32
|
@custom_headers = ->(_env) { {} }
|
33
|
+
|
34
|
+
@reject_params = %w[utf8 authenticity_token commit format controller action]
|
32
35
|
end
|
33
36
|
end
|
34
37
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'api_signature'
|
4
|
+
require 'rack'
|
4
5
|
|
5
6
|
module ApiProxy
|
6
7
|
class RequestOptionsBuilder
|
@@ -20,7 +21,7 @@ module ApiProxy
|
|
20
21
|
end
|
21
22
|
|
22
23
|
def options
|
23
|
-
{ headers: headers, format: :json }
|
24
|
+
{ headers: headers, body: body, format: :json }
|
24
25
|
end
|
25
26
|
|
26
27
|
def url
|
@@ -28,11 +29,19 @@ module ApiProxy
|
|
28
29
|
end
|
29
30
|
|
30
31
|
def request_method
|
31
|
-
|
32
|
+
request.request_method.downcase
|
32
33
|
end
|
33
34
|
|
34
35
|
private
|
35
36
|
|
37
|
+
def body
|
38
|
+
request.params.reject { |key, _value| config.reject_params.include?(key) }
|
39
|
+
end
|
40
|
+
|
41
|
+
def request
|
42
|
+
@request ||= Rack::Request.new(env)
|
43
|
+
end
|
44
|
+
|
36
45
|
def headers
|
37
46
|
custom_headers = config.custom_headers.call(env)
|
38
47
|
|
@@ -56,7 +65,7 @@ module ApiProxy
|
|
56
65
|
end
|
57
66
|
|
58
67
|
def path
|
59
|
-
request_path =
|
68
|
+
request_path = request.path.gsub(request_starts_with, '')
|
60
69
|
|
61
70
|
File.join(api_prefix, request_path)
|
62
71
|
end
|
data/lib/api_proxy/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_proxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Malinovskiy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -148,6 +148,20 @@ dependencies:
|
|
148
148
|
- - ">="
|
149
149
|
- !ruby/object:Gem::Version
|
150
150
|
version: 3.4.2
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
name: activesupport
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - ">="
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '4.0'
|
158
|
+
type: :runtime
|
159
|
+
prerelease: false
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - ">="
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '4.0'
|
151
165
|
- !ruby/object:Gem::Dependency
|
152
166
|
name: api_signature
|
153
167
|
requirement: !ruby/object:Gem::Requirement
|