session-validator-client 4.0 → 5.0.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/.github/workflows/ruby.yml +31 -0
- data/.gitignore +1 -0
- data/README.md +5 -5
- data/lib/session_validator/client.rb +3 -3
- data/repo-info.json +7 -0
- data/session-validator-client.gemspec +5 -4
- metadata +29 -9
- data/.travis.yml +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a206e0adf952028b92ef9dfd135e28626d61402c2942add8b521f8d94e0c1eec
|
4
|
+
data.tar.gz: 18fbc5416268a787dd2000ca95bf605b55eba2d01f898ab292d9897174925559
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ceda35bc867c38756d51e176e96600829b882d35b4c03d755525c80951a7f0542648176f54bc281bdd60d938e98964341bea4bba06b344752d49a724ecfc0be2
|
7
|
+
data.tar.gz: 60e1aa9356e487bf487508901f4fd926606239f6de7b9288aa990099f6560ea04f26b97ad73b9f3790b12c847d25fe562aadb501e4de062c5ea4a7f0a89d7674
|
@@ -0,0 +1,31 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on: [push]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
strategy:
|
9
|
+
matrix:
|
10
|
+
ruby-versions: ['2.6', '2.7', '3.0']
|
11
|
+
|
12
|
+
steps:
|
13
|
+
- uses: actions/checkout@v2
|
14
|
+
- uses: ruby/setup-ruby@v1
|
15
|
+
with:
|
16
|
+
ruby-version: ${{ matrix.ruby-versions }}
|
17
|
+
- name: Install dependencies
|
18
|
+
run: bundle install
|
19
|
+
- name: Run tests
|
20
|
+
run: bundle exec rspec
|
21
|
+
- name: Deploy
|
22
|
+
if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags') && matrix.ruby-versions == '3.0'
|
23
|
+
run: |
|
24
|
+
mkdir -p $HOME/.gem
|
25
|
+
touch $HOME/.gem/credentials
|
26
|
+
chmod 0600 $HOME/.gem/credentials
|
27
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
28
|
+
gem build *.gemspec
|
29
|
+
gem push *.gem
|
30
|
+
env:
|
31
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -10,14 +10,13 @@ gem install session-validator-client
|
|
10
10
|
|
11
11
|
## Usage
|
12
12
|
|
13
|
-
|
14
|
-
setup up the following environment variables:
|
13
|
+
Setup the following environment variables:
|
15
14
|
|
16
15
|
* `KEY_POOL`
|
17
16
|
* `SESSION_VALIDATOR_KEYID`
|
18
17
|
* `SESSION_VALIDATOR_URL`
|
19
18
|
|
20
|
-
###Validating a single Msid
|
19
|
+
### Validating a single Msid
|
21
20
|
`valid?(msid)` returns `true` if `msid` is valid
|
22
21
|
|
23
22
|
```ruby
|
@@ -27,7 +26,7 @@ client = SessionValidator::Client.new
|
|
27
26
|
client.valid?("staging_int_5ad5f96f307cf9.61063404")
|
28
27
|
```
|
29
28
|
|
30
|
-
###Batch validating multiple MSIDS
|
29
|
+
### Batch validating multiple MSIDS
|
31
30
|
`filter_invalid(msids)` returns an array of the invalid MSIDS.
|
32
31
|
|
33
32
|
```ruby
|
@@ -40,5 +39,6 @@ client.filter_invalid(["staging_int_5ad5f96f307cf9.61063404", "staging_int_5ad5f
|
|
40
39
|
## Running tests
|
41
40
|
|
42
41
|
```bash
|
43
|
-
|
42
|
+
$ bundle install
|
43
|
+
$ rspec
|
44
44
|
```
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require "uri"
|
2
2
|
require "escher-keypool"
|
3
3
|
require "faraday"
|
4
|
-
require "
|
4
|
+
require "faraday/retry"
|
5
5
|
require "faraday_middleware/escher"
|
6
6
|
|
7
7
|
class SessionValidator::Client
|
@@ -13,7 +13,7 @@ class SessionValidator::Client
|
|
13
13
|
date_header_name: "X-Ems-Date"
|
14
14
|
}.freeze
|
15
15
|
SERVICE_REQUEST_TIMEOUT = 2.freeze
|
16
|
-
NETWORK_ERRORS = Faraday::
|
16
|
+
NETWORK_ERRORS = Faraday::Retry::Middleware::DEFAULT_EXCEPTIONS + [Faraday::ConnectionFailed] - ['Timeout::Error']
|
17
17
|
|
18
18
|
def valid?(msid)
|
19
19
|
response_status = client.get("/sessions/#{msid}", nil, headers).status
|
@@ -40,7 +40,7 @@ class SessionValidator::Client
|
|
40
40
|
faraday.options[:open_timeout] = SERVICE_REQUEST_TIMEOUT
|
41
41
|
faraday.options[:timeout] = SERVICE_REQUEST_TIMEOUT
|
42
42
|
faraday.request :retry, interval: 0.05, interval_randomness: 0.5, backoff_factor: 2, methods: [:get, :post], exceptions: NETWORK_ERRORS
|
43
|
-
faraday.use
|
43
|
+
faraday.use Faraday::Middleware::Escher::RequestSigner, escher_config
|
44
44
|
faraday.adapter Faraday.default_adapter
|
45
45
|
end
|
46
46
|
end
|
data/repo-info.json
ADDED
@@ -1,13 +1,13 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "session-validator-client"
|
3
|
-
s.version = "
|
3
|
+
s.version = "5.0.0"
|
4
4
|
s.summary = "Ruby client for Emarsys session validator service"
|
5
5
|
s.authors = ["Emarsys Technologies Ltd."]
|
6
6
|
s.email = "security@emarsys.com"
|
7
7
|
s.homepage = "https://github.com/emartech/session-validator-client-ruby"
|
8
8
|
s.licenses = ["MIT"]
|
9
9
|
|
10
|
-
s.required_ruby_version = ">=
|
10
|
+
s.required_ruby_version = ">= 2.6"
|
11
11
|
|
12
12
|
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
13
13
|
f.match(%r{^(test|spec|features)/})
|
@@ -15,11 +15,12 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.require_paths = ['lib']
|
16
16
|
|
17
17
|
s.add_dependency "escher-keypool"
|
18
|
-
s.add_dependency "faraday", '~>
|
19
|
-
s.add_dependency "
|
18
|
+
s.add_dependency "faraday", '~> 2.0', '>= 2.0.1'
|
19
|
+
s.add_dependency "faraday-retry"
|
20
20
|
s.add_dependency "faraday_middleware-escher"
|
21
21
|
|
22
22
|
s.add_development_dependency "rspec"
|
23
23
|
s.add_development_dependency "webmock"
|
24
|
+
s.add_development_dependency "rexml"
|
24
25
|
s.add_development_dependency "dotenv"
|
25
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: session-validator-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emarsys Technologies Ltd.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: escher-keypool
|
@@ -30,16 +30,22 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2.0'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 2.0.1
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
41
|
- - "~>"
|
39
42
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
43
|
+
version: '2.0'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 2.0.1
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
48
|
+
name: faraday-retry
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
51
|
- - ">="
|
@@ -94,6 +100,20 @@ dependencies:
|
|
94
100
|
- - ">="
|
95
101
|
- !ruby/object:Gem::Version
|
96
102
|
version: '0'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: rexml
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
97
117
|
- !ruby/object:Gem::Dependency
|
98
118
|
name: dotenv
|
99
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,9 +135,9 @@ extensions: []
|
|
115
135
|
extra_rdoc_files: []
|
116
136
|
files:
|
117
137
|
- ".env"
|
138
|
+
- ".github/workflows/ruby.yml"
|
118
139
|
- ".gitignore"
|
119
140
|
- ".rspec"
|
120
|
-
- ".travis.yml"
|
121
141
|
- Gemfile
|
122
142
|
- LICENSE.txt
|
123
143
|
- README.md
|
@@ -126,6 +146,7 @@ files:
|
|
126
146
|
- lib/session_validator/cached_client.rb
|
127
147
|
- lib/session_validator/client.rb
|
128
148
|
- lib/session_validator/in_memory_cache.rb
|
149
|
+
- repo-info.json
|
129
150
|
- session-validator-client.gemspec
|
130
151
|
homepage: https://github.com/emartech/session-validator-client-ruby
|
131
152
|
licenses:
|
@@ -139,15 +160,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
139
160
|
requirements:
|
140
161
|
- - ">="
|
141
162
|
- !ruby/object:Gem::Version
|
142
|
-
version: '
|
163
|
+
version: '2.6'
|
143
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
165
|
requirements:
|
145
166
|
- - ">="
|
146
167
|
- !ruby/object:Gem::Version
|
147
168
|
version: '0'
|
148
169
|
requirements: []
|
149
|
-
|
150
|
-
rubygems_version: 2.7.7
|
170
|
+
rubygems_version: 3.2.33
|
151
171
|
signing_key:
|
152
172
|
specification_version: 4
|
153
173
|
summary: Ruby client for Emarsys session validator service
|
data/.travis.yml
DELETED