nonnative 1.57.1 → 1.58.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/Gemfile.lock +24 -25
- data/README.md +4 -4
- data/lib/nonnative/configuration.rb +6 -1
- data/lib/nonnative/configuration_proxy.rb +2 -1
- data/lib/nonnative/configuration_runner.rb +5 -1
- data/lib/nonnative/fault_injection_proxy.rb +5 -1
- data/lib/nonnative/grpc_server.rb +1 -1
- data/lib/nonnative/http_server.rb +1 -1
- data/lib/nonnative/no_proxy.rb +4 -0
- data/lib/nonnative/port.rb +1 -1
- data/lib/nonnative/socket_pair.rb +1 -1
- data/lib/nonnative/version.rb +1 -1
- data/nonnative.gemspec +2 -2
- metadata +25 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f15ed666a8ba11f08e78eaebfc60593652a23d39c4139848ff36ed94694de292
|
4
|
+
data.tar.gz: 35d9d9a38c1a38d41c0b1d7ada5976f02d560a0bf7f33944848be7ca1067e6d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7842a29761b438bf355ed9cdbd55344d64009bc71b9bccfdeeb01452e4a8f377cd5da24029eafb2f7a64922007457b93eb162a45426965fd11408a1085e004c8
|
7
|
+
data.tar.gz: 1fa589968d4a4ba3cc6f27eea3f5a4dba3fe32468622c6749dd57b37af2b52c6549d17ffbf31c432f79470e0c2b9ece99aa8023d22fab241542f08efe4c8284f
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,22 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
4
4
|
|
5
|
+
### [1.58.2](https://github.com/alexfalkowski/nonnative/compare/v1.58.1...v1.58.2) (2022-04-13)
|
6
|
+
|
7
|
+
### [1.58.1](https://github.com/alexfalkowski/nonnative/compare/v1.58.0...v1.58.1) (2022-04-06)
|
8
|
+
|
9
|
+
|
10
|
+
### Bug Fixes
|
11
|
+
|
12
|
+
* use host ([#115](https://github.com/alexfalkowski/nonnative/issues/115)) ([98cccf3](https://github.com/alexfalkowski/nonnative/commit/98cccf3f7c0918cfb00650283cf472dd4e24fbbc))
|
13
|
+
|
14
|
+
## [1.58.0](https://github.com/alexfalkowski/nonnative/compare/v1.57.1...v1.58.0) (2022-04-06)
|
15
|
+
|
16
|
+
|
17
|
+
### Features
|
18
|
+
|
19
|
+
* allow services and proxy to use a host ([#114](https://github.com/alexfalkowski/nonnative/issues/114)) ([0e3fbd8](https://github.com/alexfalkowski/nonnative/commit/0e3fbd8bc7ba76b5c5219615b66e80da4b9545ee))
|
20
|
+
|
5
21
|
### [1.57.1](https://github.com/alexfalkowski/nonnative/compare/v1.57.0...v1.57.1) (2022-03-28)
|
6
22
|
|
7
23
|
|
data/Gemfile.lock
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
nonnative (1.
|
4
|
+
nonnative (1.58.2)
|
5
5
|
concurrent-ruby (~> 1.0, >= 1.0.5)
|
6
6
|
cucumber (>= 7, < 8)
|
7
7
|
get_process_mem (~> 0.2.1)
|
8
8
|
grpc (>= 1, < 2)
|
9
|
-
grpc-tools (>= 1, < 2)
|
10
9
|
puma (~> 5.0)
|
11
10
|
rest-client (~> 2.1)
|
12
11
|
rspec-benchmark (~> 0.6.0)
|
@@ -24,12 +23,11 @@ GEM
|
|
24
23
|
benchmark-trend (0.4.0)
|
25
24
|
builder (3.2.4)
|
26
25
|
concurrent-ruby (1.1.10)
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
tins (~> 1.6)
|
26
|
+
coveralls_reborn (0.24.0)
|
27
|
+
simplecov (>= 0.18.1, < 0.22.0)
|
28
|
+
term-ansicolor (~> 1.6)
|
29
|
+
thor (>= 0.20.3, < 2.0)
|
30
|
+
tins (~> 1.16)
|
33
31
|
cucumber (7.1.0)
|
34
32
|
builder (~> 3.2, >= 3.2.4)
|
35
33
|
cucumber-core (~> 10.1, >= 10.1.0)
|
@@ -68,8 +66,8 @@ GEM
|
|
68
66
|
ffi (1.15.5)
|
69
67
|
get_process_mem (0.2.7)
|
70
68
|
ffi (~> 1.0)
|
71
|
-
google-protobuf (3.
|
72
|
-
googleapis-common-protos-types (1.3.
|
69
|
+
google-protobuf (3.20.0-x86_64-darwin)
|
70
|
+
googleapis-common-protos-types (1.3.1)
|
73
71
|
google-protobuf (~> 3.14)
|
74
72
|
grpc (1.45.0-universal-darwin)
|
75
73
|
google-protobuf (~> 3.19)
|
@@ -79,8 +77,7 @@ GEM
|
|
79
77
|
http-cookie (1.0.4)
|
80
78
|
domain_name (~> 0.5)
|
81
79
|
jaro_winkler (1.5.4)
|
82
|
-
|
83
|
-
kramdown (2.3.1)
|
80
|
+
kramdown (2.3.2)
|
84
81
|
rexml
|
85
82
|
kramdown-parser-gfm (1.1.0)
|
86
83
|
kramdown (~> 2.0)
|
@@ -92,19 +89,19 @@ GEM
|
|
92
89
|
ruby2_keywords (~> 0.0.1)
|
93
90
|
netrc (0.11.0)
|
94
91
|
nio4r (2.5.8)
|
95
|
-
nokogiri (1.13.
|
92
|
+
nokogiri (1.13.4-x86_64-darwin)
|
96
93
|
racc (~> 1.4)
|
97
|
-
parallel (1.22.
|
98
|
-
parser (3.1.
|
94
|
+
parallel (1.22.1)
|
95
|
+
parser (3.1.2.0)
|
99
96
|
ast (~> 2.4.1)
|
100
|
-
puma (5.6.
|
97
|
+
puma (5.6.4)
|
101
98
|
nio4r (~> 2.0)
|
102
99
|
racc (1.6.0)
|
103
100
|
rack (2.2.3)
|
104
101
|
rack-protection (2.2.0)
|
105
102
|
rack
|
106
103
|
rainbow (3.1.1)
|
107
|
-
regexp_parser (2.
|
104
|
+
regexp_parser (2.3.0)
|
108
105
|
rest-client (2.1.0)
|
109
106
|
http-accept (>= 1.7.0, < 2.0)
|
110
107
|
http-cookie (>= 1.0.2, < 2.0)
|
@@ -127,11 +124,11 @@ GEM
|
|
127
124
|
rspec-expectations (3.11.0)
|
128
125
|
diff-lcs (>= 1.2.0, < 2.0)
|
129
126
|
rspec-support (~> 3.11.0)
|
130
|
-
rspec-mocks (3.11.
|
127
|
+
rspec-mocks (3.11.1)
|
131
128
|
diff-lcs (>= 1.2.0, < 2.0)
|
132
129
|
rspec-support (~> 3.11.0)
|
133
130
|
rspec-support (3.11.0)
|
134
|
-
rubocop (1.
|
131
|
+
rubocop (1.27.0)
|
135
132
|
parallel (~> 1.10)
|
136
133
|
parser (>= 3.1.0.0)
|
137
134
|
rainbow (>= 2.2.2, < 4.0)
|
@@ -140,15 +137,16 @@ GEM
|
|
140
137
|
rubocop-ast (>= 1.16.0, < 2.0)
|
141
138
|
ruby-progressbar (~> 1.7)
|
142
139
|
unicode-display_width (>= 1.4.0, < 3.0)
|
143
|
-
rubocop-ast (1.
|
140
|
+
rubocop-ast (1.17.0)
|
144
141
|
parser (>= 3.1.1.0)
|
145
142
|
ruby-progressbar (1.11.0)
|
146
143
|
ruby2_keywords (0.0.5)
|
147
|
-
simplecov (0.
|
144
|
+
simplecov (0.21.2)
|
148
145
|
docile (~> 1.1)
|
149
|
-
|
150
|
-
|
151
|
-
simplecov-html (0.
|
146
|
+
simplecov-html (~> 0.11)
|
147
|
+
simplecov_json_formatter (~> 0.1)
|
148
|
+
simplecov-html (0.12.3)
|
149
|
+
simplecov_json_formatter (0.1.4)
|
152
150
|
sinatra (2.2.0)
|
153
151
|
mustermann (~> 1.0)
|
154
152
|
rack (~> 2.2)
|
@@ -191,7 +189,8 @@ PLATFORMS
|
|
191
189
|
|
192
190
|
DEPENDENCIES
|
193
191
|
bundler (~> 2.3)
|
194
|
-
|
192
|
+
coveralls_reborn (~> 0.24.0)
|
193
|
+
grpc-tools (>= 1, < 2)
|
195
194
|
nonnative!
|
196
195
|
rubocop (~> 1.26)
|
197
196
|
solargraph (~> 0.44.3)
|
data/README.md
CHANGED
@@ -134,7 +134,7 @@ Define your server:
|
|
134
134
|
module Nonnative
|
135
135
|
class EchoServer < Nonnative::Server
|
136
136
|
def perform_start
|
137
|
-
@socket_server = TCPServer.new(
|
137
|
+
@socket_server = TCPServer.new(service.host, service.port)
|
138
138
|
|
139
139
|
loop do
|
140
140
|
client_socket = @socket_server.accept
|
@@ -282,15 +282,15 @@ Define your server:
|
|
282
282
|
```ruby
|
283
283
|
module Nonnative
|
284
284
|
module Features
|
285
|
-
class
|
285
|
+
class Greeter < GreeterService::Service
|
286
286
|
def say_hello(request, _call)
|
287
|
-
Nonnative::Features::
|
287
|
+
Nonnative::Features::SayHelloResponse.new(message: request.name.to_s)
|
288
288
|
end
|
289
289
|
end
|
290
290
|
|
291
291
|
class GRPCServer < Nonnative::GRPCServer
|
292
292
|
def svc
|
293
|
-
|
293
|
+
Greeter.new
|
294
294
|
end
|
295
295
|
end
|
296
296
|
end
|
@@ -96,6 +96,7 @@ module Nonnative
|
|
96
96
|
services.each do |fd|
|
97
97
|
service do |s|
|
98
98
|
s.name = fd['name']
|
99
|
+
s.host = fd['host'] if fd['host']
|
99
100
|
s.port = fd['port']
|
100
101
|
|
101
102
|
proxy s, fd['proxy']
|
@@ -106,12 +107,16 @@ module Nonnative
|
|
106
107
|
def proxy(runner, proxy)
|
107
108
|
return unless proxy
|
108
109
|
|
109
|
-
|
110
|
+
p = {
|
110
111
|
type: proxy['type'],
|
111
112
|
port: proxy['port'],
|
112
113
|
log: proxy['log'],
|
113
114
|
options: proxy['options']
|
114
115
|
}
|
116
|
+
|
117
|
+
p[:host] = proxy['host'] if proxy['host']
|
118
|
+
|
119
|
+
runner.proxy = p
|
115
120
|
end
|
116
121
|
end
|
117
122
|
end
|
@@ -2,15 +2,19 @@
|
|
2
2
|
|
3
3
|
module Nonnative
|
4
4
|
class ConfigurationRunner
|
5
|
-
attr_accessor :name, :port
|
5
|
+
attr_accessor :name, :host, :port
|
6
6
|
attr_reader :proxy
|
7
7
|
|
8
8
|
def initialize
|
9
|
+
self.host = '0.0.0.0'
|
10
|
+
self.port = 0
|
11
|
+
|
9
12
|
@proxy = Nonnative::ConfigurationProxy.new
|
10
13
|
end
|
11
14
|
|
12
15
|
def proxy=(value)
|
13
16
|
proxy.type = value[:type]
|
17
|
+
proxy.host = value[:host] if value[:host]
|
14
18
|
proxy.port = value[:port]
|
15
19
|
proxy.log = value[:log]
|
16
20
|
proxy.options = value[:options]
|
@@ -12,7 +12,7 @@ module Nonnative
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def start
|
15
|
-
@tcp_server = ::TCPServer.new(
|
15
|
+
@tcp_server = ::TCPServer.new(service.host, service.port)
|
16
16
|
@thread = Thread.new { perform_start }
|
17
17
|
end
|
18
18
|
|
@@ -37,6 +37,10 @@ module Nonnative
|
|
37
37
|
apply_state :none
|
38
38
|
end
|
39
39
|
|
40
|
+
def host
|
41
|
+
service.proxy.host
|
42
|
+
end
|
43
|
+
|
40
44
|
def port
|
41
45
|
service.proxy.port
|
42
46
|
end
|
data/lib/nonnative/no_proxy.rb
CHANGED
data/lib/nonnative/port.rb
CHANGED
data/lib/nonnative/version.rb
CHANGED
data/nonnative.gemspec
CHANGED
@@ -28,7 +28,6 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_dependency 'cucumber', ['>= 7', '< 8']
|
29
29
|
spec.add_dependency 'get_process_mem', '~> 0.2.1'
|
30
30
|
spec.add_dependency 'grpc', ['>= 1', '< 2']
|
31
|
-
spec.add_dependency 'grpc-tools', ['>= 1', '< 2']
|
32
31
|
spec.add_dependency 'puma', '~> 5.0'
|
33
32
|
spec.add_dependency 'rest-client', '~> 2.1'
|
34
33
|
spec.add_dependency 'rspec-benchmark', '~> 0.6.0'
|
@@ -36,7 +35,8 @@ Gem::Specification.new do |spec|
|
|
36
35
|
spec.add_dependency 'sinatra', '~> 2.0', '>= 2.0.8.1'
|
37
36
|
|
38
37
|
spec.add_development_dependency 'bundler', '~> 2.3'
|
39
|
-
spec.add_development_dependency '
|
38
|
+
spec.add_development_dependency 'coveralls_reborn', '~> 0.24.0'
|
39
|
+
spec.add_development_dependency 'grpc-tools', ['>= 1', '< 2']
|
40
40
|
spec.add_development_dependency 'rubocop', '~> 1.26'
|
41
41
|
spec.add_development_dependency 'solargraph', '~> 0.44.3'
|
42
42
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nonnative
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.58.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alejandro Falkowski
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -84,26 +84,6 @@ dependencies:
|
|
84
84
|
- - "<"
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '2'
|
87
|
-
- !ruby/object:Gem::Dependency
|
88
|
-
name: grpc-tools
|
89
|
-
requirement: !ruby/object:Gem::Requirement
|
90
|
-
requirements:
|
91
|
-
- - ">="
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '1'
|
94
|
-
- - "<"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '2'
|
97
|
-
type: :runtime
|
98
|
-
prerelease: false
|
99
|
-
version_requirements: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '1'
|
104
|
-
- - "<"
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: '2'
|
107
87
|
- !ruby/object:Gem::Dependency
|
108
88
|
name: puma
|
109
89
|
requirement: !ruby/object:Gem::Requirement
|
@@ -201,19 +181,39 @@ dependencies:
|
|
201
181
|
- !ruby/object:Gem::Version
|
202
182
|
version: '2.3'
|
203
183
|
- !ruby/object:Gem::Dependency
|
204
|
-
name:
|
184
|
+
name: coveralls_reborn
|
205
185
|
requirement: !ruby/object:Gem::Requirement
|
206
186
|
requirements:
|
207
187
|
- - "~>"
|
208
188
|
- !ruby/object:Gem::Version
|
209
|
-
version: 0.
|
189
|
+
version: 0.24.0
|
210
190
|
type: :development
|
211
191
|
prerelease: false
|
212
192
|
version_requirements: !ruby/object:Gem::Requirement
|
213
193
|
requirements:
|
214
194
|
- - "~>"
|
215
195
|
- !ruby/object:Gem::Version
|
216
|
-
version: 0.
|
196
|
+
version: 0.24.0
|
197
|
+
- !ruby/object:Gem::Dependency
|
198
|
+
name: grpc-tools
|
199
|
+
requirement: !ruby/object:Gem::Requirement
|
200
|
+
requirements:
|
201
|
+
- - ">="
|
202
|
+
- !ruby/object:Gem::Version
|
203
|
+
version: '1'
|
204
|
+
- - "<"
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '2'
|
207
|
+
type: :development
|
208
|
+
prerelease: false
|
209
|
+
version_requirements: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - ">="
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '1'
|
214
|
+
- - "<"
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '2'
|
217
217
|
- !ruby/object:Gem::Dependency
|
218
218
|
name: rubocop
|
219
219
|
requirement: !ruby/object:Gem::Requirement
|