oas_request 0.0.1 → 0.0.2
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/lib/oas_request.rb +20 -20
- data/lib/oas_request/path_template.rb +1 -1
- metadata +22 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 672124bdfd13b2f874bf30ed890d5837f27b688051d2348c08d9af73b7af0667
|
4
|
+
data.tar.gz: 3e692ef035ef02ab2421f7b59fcb408f0cad0c19d0a0279e643f4eee06886f92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 616f2c7fb0e0f5d56aa264ff42648821f982515d6bb1e7ff4b48a41e8ca8974f52733a462d2b712666ba38e06e6fbd8b416b55b02b13502085e2737a33bf8c39
|
7
|
+
data.tar.gz: 0e6c2517d08e9e50280f9ee433ef9a5afad1dce5a688fdc30c00386a585ea1c2cbe5913dd3cd67e4c763b2ff9348096bcd55e4a51b5dacaf06f9e5be125e1f61
|
data/lib/oas_request.rb
CHANGED
@@ -3,9 +3,7 @@ require "rack"
|
|
3
3
|
class OASRequest
|
4
4
|
def self.spec(oas)
|
5
5
|
Class.new do
|
6
|
-
|
7
|
-
|
8
|
-
define_method :initialize do |server:, headers: {}, params: {}, query: {}|
|
6
|
+
def initialize(server:, headers: {}, params: {}, query: {})
|
9
7
|
@server = server
|
10
8
|
|
11
9
|
@headers = headers
|
@@ -13,7 +11,7 @@ class OASRequest
|
|
13
11
|
@query = query
|
14
12
|
end
|
15
13
|
|
16
|
-
|
14
|
+
def __request(method:, url:, options: {})
|
17
15
|
# merge params with global defaults
|
18
16
|
params = @params.merge(options.fetch(:params, {}))
|
19
17
|
|
@@ -26,21 +24,23 @@ class OASRequest
|
|
26
24
|
# convert query back to regular hash
|
27
25
|
search_obj = Rack::Utils.parse_query uri.query
|
28
26
|
|
27
|
+
authorization_headers = {}
|
28
|
+
|
29
29
|
# Overrides
|
30
|
-
headers = @headers.merge(options.fetch(:headers, {}))
|
30
|
+
headers = @headers.merge(authorization_headers).merge(options.fetch(:headers, {}))
|
31
31
|
query = search_obj.merge(@query).merge(options.fetch(:query, {}))
|
32
32
|
|
33
33
|
# final query string
|
34
34
|
search = Rack::Utils.build_query query
|
35
35
|
|
36
36
|
OASRequest::HTTP.http(
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
37
|
+
headers: headers,
|
38
|
+
host: uri.host,
|
39
|
+
method: method,
|
40
|
+
port: uri.port,
|
41
|
+
body: options.fetch(:body, nil),
|
42
|
+
path: uri.path + (search.empty? ? "" : "?#{search}"),
|
43
|
+
protocol: uri.scheme
|
44
44
|
)
|
45
45
|
end
|
46
46
|
|
@@ -52,14 +52,14 @@ class OASRequest
|
|
52
52
|
# process each method
|
53
53
|
define_method definition["operationId"] do |headers: {}, params: {}, query: {}, body: nil|
|
54
54
|
__request(
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
55
|
+
method: method,
|
56
|
+
url: url,
|
57
|
+
options: {
|
58
|
+
headers: headers,
|
59
|
+
params: params,
|
60
|
+
query: query,
|
61
|
+
body: body
|
62
|
+
}
|
63
63
|
)
|
64
64
|
end
|
65
65
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oas_request
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
@@ -30,6 +30,26 @@ dependencies:
|
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 2.2.3
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: jwt
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.5'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.5.4
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.5'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.5.4
|
33
53
|
- !ruby/object:Gem::Dependency
|
34
54
|
name: webmock
|
35
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,8 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
98
|
- !ruby/object:Gem::Version
|
79
99
|
version: '0'
|
80
100
|
requirements: []
|
81
|
-
|
82
|
-
rubygems_version: 2.7.6.2
|
101
|
+
rubygems_version: 3.1.3
|
83
102
|
signing_key:
|
84
103
|
specification_version: 4
|
85
104
|
summary: OAS request generator
|