nonnative 1.57.1 → 1.58.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 18c507d1d80df16859377563fe1d6ee1c9eb5f2ddd8fdf3d2993f51b6bdb2b62
4
- data.tar.gz: d68f4c11e44caa4603bf1c6d710b84dfcc7736b651d1386908b5bd68ed92faf9
3
+ metadata.gz: f15ed666a8ba11f08e78eaebfc60593652a23d39c4139848ff36ed94694de292
4
+ data.tar.gz: 35d9d9a38c1a38d41c0b1d7ada5976f02d560a0bf7f33944848be7ca1067e6d6
5
5
  SHA512:
6
- metadata.gz: c1bbef60259712ff852c2fccf0000fd03744bda978f4e31ee0a5c462a09d1ff523af7ec2aaabba6decd5ef24bec8c26b7d3e415ab3506cb7de06889ace9257ff
7
- data.tar.gz: ed09e907cf065b93f4b320830ff9eafeebac36b0341c40e335500e76868148bfaead29291b26312cf7f7d7fa1130a73b762ac2ace354d90851e9c62f93e5f994
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.57.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
- coveralls (0.8.23)
28
- json (>= 1.8, < 3)
29
- simplecov (~> 0.16.1)
30
- term-ansicolor (~> 1.3)
31
- thor (>= 0.19.4, < 2.0)
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.19.4-x86_64-darwin)
72
- googleapis-common-protos-types (1.3.0)
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
- json (2.6.1)
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.3-x86_64-darwin)
92
+ nokogiri (1.13.4-x86_64-darwin)
96
93
  racc (~> 1.4)
97
- parallel (1.22.0)
98
- parser (3.1.1.0)
94
+ parallel (1.22.1)
95
+ parser (3.1.2.0)
99
96
  ast (~> 2.4.1)
100
- puma (5.6.2)
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.2.1)
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.0)
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.26.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.16.0)
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.16.1)
144
+ simplecov (0.21.2)
148
145
  docile (~> 1.1)
149
- json (>= 1.8, < 3)
150
- simplecov-html (~> 0.10.0)
151
- simplecov-html (0.10.2)
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
- coveralls (~> 0.8.23)
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('0.0.0.0', port)
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 GreeterService < Greeter::Service
285
+ class Greeter < GreeterService::Service
286
286
  def say_hello(request, _call)
287
- Nonnative::Features::HelloReply.new(message: request.name.to_s)
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
- GreeterService.new
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
- runner.proxy = {
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,10 +2,11 @@
2
2
 
3
3
  module Nonnative
4
4
  class ConfigurationProxy
5
- attr_accessor :type, :port, :log, :options
5
+ attr_accessor :type, :host, :port, :log, :options
6
6
 
7
7
  def initialize
8
8
  self.type = 'none'
9
+ self.host = '0.0.0.0'
9
10
  self.port = 0
10
11
  self.options = {}
11
12
  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('0.0.0.0', service.port)
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
@@ -17,7 +17,7 @@ module Nonnative
17
17
  protected
18
18
 
19
19
  def perform_start
20
- server.add_http2_port("0.0.0.0:#{proxy.port}", :this_port_is_insecure)
20
+ server.add_http2_port("#{proxy.host}:#{proxy.port}", :this_port_is_insecure)
21
21
  server.run
22
22
  end
23
23
 
@@ -13,7 +13,7 @@ module Nonnative
13
13
  protected
14
14
 
15
15
  def perform_start
16
- server.add_tcp_listener '0.0.0.0', proxy.port
16
+ server.add_tcp_listener proxy.host, proxy.port
17
17
  server.run.join
18
18
  end
19
19
 
@@ -10,6 +10,10 @@ module Nonnative
10
10
  # Do nothing.
11
11
  end
12
12
 
13
+ def host
14
+ service.host
15
+ end
16
+
13
17
  def port
14
18
  service.port
15
19
  end
@@ -34,7 +34,7 @@ module Nonnative
34
34
  attr_reader :process, :timeout
35
35
 
36
36
  def open_socket
37
- TCPSocket.new('0.0.0.0', process.port).close
37
+ TCPSocket.new(process.host, process.port).close
38
38
  end
39
39
 
40
40
  def sleep_interval
@@ -25,7 +25,7 @@ module Nonnative
25
25
  attr_reader :proxy
26
26
 
27
27
  def create_remote_socket
28
- ::TCPSocket.new('0.0.0.0', proxy.port)
28
+ ::TCPSocket.new(proxy.host, proxy.port)
29
29
  end
30
30
 
31
31
  def pipe(ready, socket1, socket2)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nonnative
4
- VERSION = '1.57.1'
4
+ VERSION = '1.58.2'
5
5
  end
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 'coveralls', '~> 0.8.23'
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.57.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-03-28 00:00:00.000000000 Z
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: coveralls
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.8.23
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.8.23
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