oso-cloud 1.8.0 → 1.9.1.pre.vendored.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.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/Gemfile +5 -0
- data/Gemfile.lock +31 -12
- data/README.md +1 -1
- data/lib/oso/api.rb +18 -2
- data/lib/oso/oso.rb +10 -7
- data/lib/oso/version.rb +1 -1
- data/vendor/gems/faraday-2.5.2/CHANGELOG.md +574 -0
- data/vendor/gems/faraday-2.5.2/LICENSE.md +20 -0
- data/vendor/gems/faraday-2.5.2/README.md +55 -0
- data/vendor/gems/faraday-2.5.2/Rakefile +7 -0
- data/vendor/gems/faraday-2.5.2/examples/client_spec.rb +119 -0
- data/vendor/gems/faraday-2.5.2/examples/client_test.rb +144 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/adapter/test.rb +298 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/adapter.rb +102 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/adapter_registry.rb +30 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/connection.rb +561 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/encoders/flat_params_encoder.rb +105 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/encoders/nested_params_encoder.rb +183 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/error.rb +147 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/logging/formatter.rb +106 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/methods.rb +6 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/middleware.rb +30 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/middleware_registry.rb +83 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/options/connection_options.rb +22 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/options/env.rb +199 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/options/proxy_options.rb +32 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/options/request_options.rb +22 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/options/ssl_options.rb +69 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/options.rb +218 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/parameters.rb +5 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/rack_builder.rb +252 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/request/authorization.rb +49 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/request/instrumentation.rb +56 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/request/json.rb +55 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/request/url_encoded.rb +60 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/request.rb +136 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/response/json.rb +54 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/response/logger.rb +33 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/response/raise_error.rb +64 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/response.rb +90 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/utils/headers.rb +139 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/utils/params_hash.rb +61 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/utils.rb +122 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday/version.rb +5 -0
- data/vendor/gems/faraday-2.5.2/lib/faraday.rb +157 -0
- data/vendor/gems/faraday-2.5.2/spec/external_adapters/faraday_specs_setup.rb +14 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/adapter/test_spec.rb +413 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/adapter_registry_spec.rb +28 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/adapter_spec.rb +55 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/connection_spec.rb +793 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/error_spec.rb +60 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/middleware_registry_spec.rb +31 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/middleware_spec.rb +52 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/options/env_spec.rb +76 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/options/options_spec.rb +297 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/options/proxy_options_spec.rb +44 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/options/request_options_spec.rb +19 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/params_encoders/flat_spec.rb +42 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/params_encoders/nested_spec.rb +150 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/rack_builder_spec.rb +317 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/request/authorization_spec.rb +83 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/request/instrumentation_spec.rb +74 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/request/json_spec.rb +111 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/request/url_encoded_spec.rb +93 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/request_spec.rb +110 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/response/json_spec.rb +117 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/response/logger_spec.rb +220 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/response/raise_error_spec.rb +172 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/response_spec.rb +75 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/utils/headers_spec.rb +82 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday/utils_spec.rb +118 -0
- data/vendor/gems/faraday-2.5.2/spec/faraday_spec.rb +37 -0
- data/vendor/gems/faraday-2.5.2/spec/spec_helper.rb +132 -0
- data/vendor/gems/faraday-2.5.2/spec/support/disabling_stub.rb +14 -0
- data/vendor/gems/faraday-2.5.2/spec/support/fake_safe_buffer.rb +15 -0
- data/vendor/gems/faraday-2.5.2/spec/support/helper_methods.rb +96 -0
- data/vendor/gems/faraday-2.5.2/spec/support/shared_examples/adapter.rb +105 -0
- data/vendor/gems/faraday-2.5.2/spec/support/shared_examples/params_encoder.rb +18 -0
- data/vendor/gems/faraday-2.5.2/spec/support/shared_examples/request_method.rb +263 -0
- data/vendor/gems/faraday-2.5.2/spec/support/streaming_response_checker.rb +35 -0
- data/vendor/gems/faraday-net_http-3.0.2/LICENSE.md +21 -0
- data/vendor/gems/faraday-net_http-3.0.2/README.md +57 -0
- data/vendor/gems/faraday-net_http-3.0.2/lib/faraday/adapter/net_http.rb +208 -0
- data/vendor/gems/faraday-net_http-3.0.2/lib/faraday/net_http/version.rb +7 -0
- data/vendor/gems/faraday-net_http-3.0.2/lib/faraday/net_http.rb +10 -0
- data/vendor/gems/faraday-net_http_persistent-2.3.0/LICENSE.md +21 -0
- data/vendor/gems/faraday-net_http_persistent-2.3.0/README.md +66 -0
- data/vendor/gems/faraday-net_http_persistent-2.3.0/lib/faraday/adapter/net_http_persistent.rb +234 -0
- data/vendor/gems/faraday-net_http_persistent-2.3.0/lib/faraday/net_http_persistent/version.rb +7 -0
- data/vendor/gems/faraday-net_http_persistent-2.3.0/lib/faraday/net_http_persistent.rb +18 -0
- data/vendor/gems/faraday-retry-2.0.0/CHANGELOG.md +24 -0
- data/vendor/gems/faraday-retry-2.0.0/LICENSE.md +21 -0
- data/vendor/gems/faraday-retry-2.0.0/README.md +169 -0
- data/vendor/gems/faraday-retry-2.0.0/lib/faraday/retriable_response.rb +8 -0
- data/vendor/gems/faraday-retry-2.0.0/lib/faraday/retry/middleware.rb +254 -0
- data/vendor/gems/faraday-retry-2.0.0/lib/faraday/retry/version.rb +7 -0
- data/vendor/gems/faraday-retry-2.0.0/lib/faraday/retry.rb +13 -0
- data/vendor/gems/net-http-persistent-4.0.5/.autotest +9 -0
- data/vendor/gems/net-http-persistent-4.0.5/.gemtest +0 -0
- data/vendor/gems/net-http-persistent-4.0.5/Gemfile +14 -0
- data/vendor/gems/net-http-persistent-4.0.5/History.txt +460 -0
- data/vendor/gems/net-http-persistent-4.0.5/Manifest.txt +13 -0
- data/vendor/gems/net-http-persistent-4.0.5/README.rdoc +82 -0
- data/vendor/gems/net-http-persistent-4.0.5/Rakefile +25 -0
- data/vendor/gems/net-http-persistent-4.0.5/lib/net/http/persistent/connection.rb +41 -0
- data/vendor/gems/net-http-persistent-4.0.5/lib/net/http/persistent/pool.rb +65 -0
- data/vendor/gems/net-http-persistent-4.0.5/lib/net/http/persistent/timed_stack_multi.rb +79 -0
- data/vendor/gems/net-http-persistent-4.0.5/lib/net/http/persistent.rb +1158 -0
- data/vendor/gems/net-http-persistent-4.0.5/test/test_net_http_persistent.rb +1512 -0
- data/vendor/gems/net-http-persistent-4.0.5/test/test_net_http_persistent_timed_stack_multi.rb +151 -0
- metadata +112 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e6e451a7a4bf36fa1e34670ffd71de8c8d0777b80257eff2a33988721886021
|
4
|
+
data.tar.gz: a563939cb00850f94d9cdb97ae47e53d9416f4266a88dc7a6af88b7f2e77bf26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c24aaa5d60c172fc85a545f97180db79a828923e5ed89fdf0de85b7a505f466ac3a4c3d31b7d46795c4c10b58578e0afe9690174ab6429a7d1c99d11f634df28
|
7
|
+
data.tar.gz: 46356c35150c44a61868034a7a4cbae0f495e310557e2a2d309db50bc68ff0048386eb992557bf313c72d3dbd438618d66f5e3c8385df6ea964a8e7a4d3c9a6c
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -4,3 +4,8 @@ source "https://rubygems.org"
|
|
4
4
|
gemspec
|
5
5
|
|
6
6
|
gem "rake", "~> 12.0"
|
7
|
+
gem "faraday", "2.5.2", :path => "vendor/gems/faraday-2.5.2"
|
8
|
+
gem "faraday-retry", "2.0.0", :path => "vendor/gems/faraday-retry-2.0.0"
|
9
|
+
gem "faraday-net_http_persistent", "2.3.0", :path => "vendor/gems/faraday-net_http_persistent-2.3.0"
|
10
|
+
gem "faraday-net_http", "3.0.2", :path => "vendor/gems/faraday-net_http-3.0.2"
|
11
|
+
gem "net-http-persistent", "4.0.5", :path => "vendor/gems/net-http-persistent-4.0.5"
|
data/Gemfile.lock
CHANGED
@@ -1,11 +1,36 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
oso-cloud (1.
|
4
|
+
oso-cloud (1.9.1.pre.vendored.0)
|
5
5
|
faraday (~> 2.5.2)
|
6
6
|
faraday-net_http_persistent (~> 2.0)
|
7
7
|
faraday-retry (~> 2.0.0)
|
8
8
|
|
9
|
+
PATH
|
10
|
+
remote: vendor/gems/faraday-2.5.2
|
11
|
+
specs:
|
12
|
+
faraday (2.5.2)
|
13
|
+
|
14
|
+
PATH
|
15
|
+
remote: vendor/gems/faraday-net_http-3.0.2
|
16
|
+
specs:
|
17
|
+
faraday-net_http (3.0.2)
|
18
|
+
|
19
|
+
PATH
|
20
|
+
remote: vendor/gems/faraday-net_http_persistent-2.3.0
|
21
|
+
specs:
|
22
|
+
faraday-net_http_persistent (2.3.0)
|
23
|
+
|
24
|
+
PATH
|
25
|
+
remote: vendor/gems/faraday-retry-2.0.0
|
26
|
+
specs:
|
27
|
+
faraday-retry (2.0.0)
|
28
|
+
|
29
|
+
PATH
|
30
|
+
remote: vendor/gems/net-http-persistent-4.0.5
|
31
|
+
specs:
|
32
|
+
net-http-persistent (4.0.5)
|
33
|
+
|
9
34
|
GEM
|
10
35
|
remote: https://rubygems.org/
|
11
36
|
specs:
|
@@ -31,21 +56,10 @@ GEM
|
|
31
56
|
connection_pool (2.4.1)
|
32
57
|
drb (2.2.0)
|
33
58
|
ruby2_keywords
|
34
|
-
faraday (2.5.2)
|
35
|
-
faraday-net_http (>= 2.0, < 3.1)
|
36
|
-
ruby2_keywords (>= 0.0.4)
|
37
|
-
faraday-net_http (3.0.2)
|
38
|
-
faraday-net_http_persistent (2.1.0)
|
39
|
-
faraday (~> 2.5)
|
40
|
-
net-http-persistent (~> 4.0)
|
41
|
-
faraday-retry (2.0.0)
|
42
|
-
faraday (~> 2.0)
|
43
59
|
i18n (1.14.1)
|
44
60
|
concurrent-ruby (~> 1.0)
|
45
61
|
minitest (5.18.0)
|
46
62
|
mutex_m (0.2.0)
|
47
|
-
net-http-persistent (4.0.2)
|
48
|
-
connection_pool (~> 2.2)
|
49
63
|
pg (1.5.4)
|
50
64
|
rake (12.3.3)
|
51
65
|
ruby2_keywords (0.0.5)
|
@@ -58,7 +72,12 @@ PLATFORMS
|
|
58
72
|
|
59
73
|
DEPENDENCIES
|
60
74
|
activerecord (~> 7.0)
|
75
|
+
faraday (= 2.5.2)!
|
76
|
+
faraday-net_http (= 3.0.2)!
|
77
|
+
faraday-net_http_persistent (= 2.3.0)!
|
78
|
+
faraday-retry (= 2.0.0)!
|
61
79
|
minitest (~> 5.15)
|
80
|
+
net-http-persistent (= 4.0.5)!
|
62
81
|
oso-cloud!
|
63
82
|
pg (~> 1.0)
|
64
83
|
rake (~> 12.0)
|
data/README.md
CHANGED
@@ -32,7 +32,7 @@ architecture, check out the
|
|
32
32
|
- To get up and running with Oso Cloud, try the
|
33
33
|
[Quickstart guide](https://www.osohq.com/docs/get-started/quickstart).
|
34
34
|
- For method-level documentation, see the
|
35
|
-
[Ruby Client API documentation](https://www.osohq.com/docs/
|
35
|
+
[Ruby Client API documentation](https://www.osohq.com/docs/app-integration/client-apis/ruby).
|
36
36
|
- Full documentation is available at
|
37
37
|
[osohq.com/docs](https://www.osohq.com/docs).
|
38
38
|
- To learn about authorization best practices (not specific to Oso), read the
|
data/lib/oso/api.rb
CHANGED
@@ -511,6 +511,9 @@ module OsoCloud
|
|
511
511
|
req.params = params unless params.nil?
|
512
512
|
req.headers = headers
|
513
513
|
end
|
514
|
+
|
515
|
+
create_api_error(response, "Unexpected status #{response.status}") if response.status >= 300 || response.status < 200
|
516
|
+
|
514
517
|
response.body
|
515
518
|
rescue Faraday::BadRequestError, Faraday::ServerError, Faraday::ConnectionFailed, Faraday::TimeoutError,
|
516
519
|
Faraday::SSLError => e
|
@@ -520,6 +523,9 @@ module OsoCloud
|
|
520
523
|
req.params = params unless params.nil?
|
521
524
|
req.headers = headers
|
522
525
|
end
|
526
|
+
|
527
|
+
create_api_error(response, "Unexpected status #{response.status}") if response.status >= 300 || response.status < 200
|
528
|
+
|
523
529
|
response.body
|
524
530
|
end
|
525
531
|
rescue Faraday::Error => e
|
@@ -542,6 +548,8 @@ module OsoCloud
|
|
542
548
|
req.headers = headers
|
543
549
|
end
|
544
550
|
|
551
|
+
create_api_error(response, "Unexpected status #{response.status}") if response.status >= 300 || response.status < 200
|
552
|
+
|
545
553
|
@last_offset = response.headers[:OsoOffset] if isMutation
|
546
554
|
response.body
|
547
555
|
# only attempt fallback on 5xx, and connection failure conditions
|
@@ -554,6 +562,7 @@ module OsoCloud
|
|
554
562
|
req.body = OsoCloud::Helpers.to_hash(body) unless body.nil?
|
555
563
|
req.headers = headers
|
556
564
|
end
|
565
|
+
create_api_error(response, "Unexpected status #{response.status}") if response.status >= 300 || response.status < 200
|
557
566
|
response.body
|
558
567
|
end
|
559
568
|
rescue Faraday::Error => e
|
@@ -573,6 +582,9 @@ module OsoCloud
|
|
573
582
|
req.headers = headers
|
574
583
|
req.body = OsoCloud::Helpers.to_hash(body) unless body.nil?
|
575
584
|
end
|
585
|
+
|
586
|
+
create_api_error(response, "Unexpected status #{response.status}") if response.status >= 300 || response.status < 200
|
587
|
+
|
576
588
|
response.body
|
577
589
|
rescue Faraday::Error => e
|
578
590
|
handle_faraday_error e
|
@@ -580,14 +592,18 @@ module OsoCloud
|
|
580
592
|
|
581
593
|
def handle_faraday_error(error)
|
582
594
|
resp = error.response
|
595
|
+
create_api_error(resp, error.message)
|
596
|
+
end
|
597
|
+
|
598
|
+
def create_api_error(resp, message)
|
583
599
|
formatted_request_id = if resp.nil? || resp[:headers].nil? || resp[:headers]['X-Request-ID'].nil?
|
584
600
|
''
|
585
601
|
else
|
586
602
|
' (Request ID: ' + resp[:headers]['X-Request-ID'] + ')'
|
587
603
|
end
|
588
604
|
|
589
|
-
err = if resp.nil? || resp[:body].nil? || resp[:body][:message].nil?
|
590
|
-
|
605
|
+
err = if resp.nil? || resp[:body].nil? || !resp[:body].is_a?(Hash) || resp[:body][:message].nil?
|
606
|
+
message
|
591
607
|
else
|
592
608
|
resp[:body][:message]
|
593
609
|
end
|
data/lib/oso/oso.rb
CHANGED
@@ -8,7 +8,7 @@ require 'oso/helpers'
|
|
8
8
|
|
9
9
|
##
|
10
10
|
# For more detailed documentation, see
|
11
|
-
# https://www.osohq.com/docs/
|
11
|
+
# https://www.osohq.com/docs/app-integration/client-apis/ruby
|
12
12
|
module OsoCloud
|
13
13
|
# Represents an object in your application, with a type and id.
|
14
14
|
# Both "type" and "id" should be strings.
|
@@ -41,8 +41,9 @@ module OsoCloud
|
|
41
41
|
# @param actor [OsoCloud::Value]
|
42
42
|
# @param action [String]
|
43
43
|
# @param resource [OsoCloud::Value]
|
44
|
+
# @param context_facts [Array<fact>]
|
44
45
|
# @return [String]
|
45
|
-
def authorize_local(actor, action, resource)
|
46
|
+
def authorize_local(actor, action, resource, context_facts = [])
|
46
47
|
actor_typed_id = actor.to_api_value
|
47
48
|
resource_typed_id = resource.to_api_value
|
48
49
|
result = @api.post_authorize_query(
|
@@ -52,7 +53,7 @@ module OsoCloud
|
|
52
53
|
action: action,
|
53
54
|
resource_type: resource_typed_id.type,
|
54
55
|
resource_id: resource_typed_id.id,
|
55
|
-
context_facts:
|
56
|
+
context_facts: OsoCloud::Helpers.params_to_facts(context_facts)
|
56
57
|
)
|
57
58
|
)
|
58
59
|
result.sql
|
@@ -67,8 +68,9 @@ module OsoCloud
|
|
67
68
|
# @param action [String]
|
68
69
|
# @param resource_type [String]
|
69
70
|
# @param column [String]
|
71
|
+
# @param context_facts [Array<fact>]
|
70
72
|
# @return [String]
|
71
|
-
def list_local(actor, action, resource_type, column)
|
73
|
+
def list_local(actor, action, resource_type, column, context_facts = [])
|
72
74
|
actor_typed_id = actor.to_api_value
|
73
75
|
result = @api.post_list_query(
|
74
76
|
query: OsoCloud::Core::ListQuery.new(
|
@@ -76,7 +78,7 @@ module OsoCloud
|
|
76
78
|
actor_id: actor_typed_id.id,
|
77
79
|
action: action,
|
78
80
|
resource_type: resource_type,
|
79
|
-
context_facts:
|
81
|
+
context_facts: OsoCloud::Helpers.params_to_facts(context_facts)
|
80
82
|
),
|
81
83
|
column: column
|
82
84
|
)
|
@@ -90,8 +92,9 @@ module OsoCloud
|
|
90
92
|
#
|
91
93
|
# @param actor [OsoCloud::Value]
|
92
94
|
# @param resource [OsoCloud::Value]
|
95
|
+
# @param context_facts [Array<fact>]
|
93
96
|
# @return [String]
|
94
|
-
def actions_local(actor, resource)
|
97
|
+
def actions_local(actor, resource, context_facts = [])
|
95
98
|
actor_typed_id = actor.to_api_value
|
96
99
|
resource_typed_id = resource.to_api_value
|
97
100
|
result = @api.post_actions_query(
|
@@ -100,7 +103,7 @@ module OsoCloud
|
|
100
103
|
actor_id: actor_typed_id.id,
|
101
104
|
resource_type: resource_typed_id.type,
|
102
105
|
resource_id: resource_typed_id.id,
|
103
|
-
context_facts:
|
106
|
+
context_facts: OsoCloud::Helpers.params_to_facts(context_facts)
|
104
107
|
)
|
105
108
|
)
|
106
109
|
result.sql
|
data/lib/oso/version.rb
CHANGED