safetykit 0.13.0 → 0.13.1
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/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/lib/safety_kit/resources/client_sessions.rb +63 -1
- data/lib/safety_kit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9d3e22c6034377a433089f18c5a408d81f894f42a5eeeeaa13cb69bbcac81199
|
|
4
|
+
data.tar.gz: a70d67b29c010cdf2084fa4947cf01c8892860cc855333b96894a97441bbd95a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 539f52387ecc462d3e88ad6bcbfbeb516ed5dc265590107735d889d1fd363b40f584674917ca971f567bfa5800c0ce9448f359155ff3cf8b91b6955384f47ad9
|
|
7
|
+
data.tar.gz: f63ac91cf0e2dd7efa4751e1dc761c6c81f4e66189c0a5df8d2c155e3e1de966bf2137d27684aa3a09af15ad78c643782d41a0adfc048bed72e138ffa591eea3
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.13.1 (2026-06-02)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.13.0...v0.13.1](https://github.com/GetSafetyKit/safetykit-ruby/compare/v0.13.0...v0.13.1)
|
|
6
|
+
|
|
3
7
|
## 0.13.0 (2026-06-01)
|
|
4
8
|
|
|
5
9
|
Full Changelog: [v0.12.0...v0.13.0](https://github.com/GetSafetyKit/safetykit-ruby/compare/v0.12.0...v0.13.0)
|
data/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require "uri"
|
|
4
|
+
|
|
3
5
|
module SafetyKit
|
|
4
6
|
module Resources
|
|
5
7
|
# Beta. Create browser-safe Webapp SDK session tokens from authenticated
|
|
@@ -27,13 +29,15 @@ module SafetyKit
|
|
|
27
29
|
def create_session(params)
|
|
28
30
|
parsed, options = SafetyKit::ClientSessionCreateSessionParams.dump_request(params)
|
|
29
31
|
path = @client.base_url_overridden? ? "v1/sessions" : "https://diagnostics.safetykit.com/v1/sessions"
|
|
30
|
-
@client.request(
|
|
32
|
+
response = @client.request(
|
|
31
33
|
method: :post,
|
|
32
34
|
path: path,
|
|
33
35
|
body: parsed[:body],
|
|
34
36
|
model: SafetyKit::Models::ClientSessionCreateSessionResponse,
|
|
35
37
|
options: options
|
|
36
38
|
)
|
|
39
|
+
validate_create_session_response!(response)
|
|
40
|
+
response
|
|
37
41
|
end
|
|
38
42
|
|
|
39
43
|
# @api private
|
|
@@ -42,6 +46,64 @@ module SafetyKit
|
|
|
42
46
|
def initialize(client:)
|
|
43
47
|
@client = client
|
|
44
48
|
end
|
|
49
|
+
|
|
50
|
+
private
|
|
51
|
+
|
|
52
|
+
def validate_create_session_response!(response)
|
|
53
|
+
unless response.is_a?(SafetyKit::Models::ClientSessionCreateSessionResponse)
|
|
54
|
+
raise_invalid_create_session_response!(
|
|
55
|
+
method: :create_session,
|
|
56
|
+
target: SafetyKit::Models::ClientSessionCreateSessionResponse,
|
|
57
|
+
value: response,
|
|
58
|
+
message: "must be a client session create response"
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
validate_non_empty_string!(response, :session_token)
|
|
63
|
+
validate_non_empty_string!(response, :sdk_script_url)
|
|
64
|
+
validate_https_url!(response[:sdk_script_url])
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def validate_non_empty_string!(response, field)
|
|
68
|
+
value = response[field]
|
|
69
|
+
return if value.is_a?(String) && !value.strip.empty?
|
|
70
|
+
|
|
71
|
+
raise_invalid_create_session_response!(
|
|
72
|
+
method: field,
|
|
73
|
+
target: String,
|
|
74
|
+
value: value,
|
|
75
|
+
message: "must be a non-empty string"
|
|
76
|
+
)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def validate_https_url!(value)
|
|
80
|
+
uri = URI.parse(value)
|
|
81
|
+
return if uri.is_a?(URI::HTTPS) && uri.host && !uri.host.empty?
|
|
82
|
+
|
|
83
|
+
raise_invalid_create_session_response!(
|
|
84
|
+
method: :sdk_script_url,
|
|
85
|
+
target: URI::HTTPS,
|
|
86
|
+
value: value,
|
|
87
|
+
message: "must be an absolute HTTPS URL"
|
|
88
|
+
)
|
|
89
|
+
rescue URI::InvalidURIError => e
|
|
90
|
+
raise_invalid_create_session_response!(
|
|
91
|
+
method: :sdk_script_url,
|
|
92
|
+
target: URI::HTTPS,
|
|
93
|
+
value: value,
|
|
94
|
+
cause: e
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def raise_invalid_create_session_response!(method:, target:, value:, message: nil, cause: nil)
|
|
99
|
+
raise SafetyKit::Errors::ConversionError.new(
|
|
100
|
+
on: SafetyKit::Models::ClientSessionCreateSessionResponse,
|
|
101
|
+
method: method,
|
|
102
|
+
target: target,
|
|
103
|
+
value: value,
|
|
104
|
+
cause: cause || ArgumentError.new(message)
|
|
105
|
+
)
|
|
106
|
+
end
|
|
45
107
|
end
|
|
46
108
|
end
|
|
47
109
|
end
|
data/lib/safety_kit/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: safetykit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.13.
|
|
4
|
+
version: 0.13.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Safetykit
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-06-
|
|
11
|
+
date: 2026-06-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|