nonnative 1.94.0 → 1.95.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15da7c4f98e2bedf2c50ce32f424fa526f21055c3c847ca456f633251bb29ae6
4
- data.tar.gz: 85e773d2404e565f1b275573207a1cd0af637e65d42db759b4c7fc815d203b79
3
+ metadata.gz: 3613ca777546fc006d042c2362ea786703faf50f9c7da1dbb000ee86888576ec
4
+ data.tar.gz: 9ccf77b2d359cb33bb576e83af6de8747eadd13de2d205a339e12121bb20559b
5
5
  SHA512:
6
- metadata.gz: ea116957b7a556d79c17427f80fb12cd564fc63c4632dc748179d6d92661864fa2d7acf3b077b171972f003b4bbbeb0dd4d999b8f9a98c17e31253c0bbf96e6c
7
- data.tar.gz: 1654c2500e078e214aed4c0970d6384c43bd31876871f069cdfc167a0ee9785cba370bbf19e0841f6543b016cbc5d2af85ba31aa5adc846960b58b6bc544a06d
6
+ metadata.gz: 81ad331d2b921d218aa07c3c5dde834e3cca80065ec2f62b12bc33e73902fe3cb757d5bfe997261c11f3eb1fd114753df1bba00d5b13a884ad3b87546fd4ec70
7
+ data.tar.gz: d286638c65e67430acc7f3f262ddd99ba684b6a6eb5235e276b974481925a21eef519d6f2244b475d86183464c842d04300cf4fe0bafde11335b3385d5e6637e
data/CHANGELOG.md CHANGED
@@ -6,6 +6,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## [v1.95.0](https://github.com/alexfalkowski/nonnative/releases/tag/v1.95.0) - 2025-04-30
10
+
11
+ - [`5146eb7`](https://github.com/alexfalkowski/nonnative/commit/5146eb76cc7fb0dbe8ad5443d189639a7837f5b2) feat(http): use puma (#547)
12
+ - [`4ee710d`](https://github.com/alexfalkowski/nonnative/commit/4ee710dc56de05b7b6b724705aecfd0921a038ec) build(deps): bump bin from `b0fd780` to `926a71b` (#545)
13
+
9
14
  ## [v1.94.0](https://github.com/alexfalkowski/nonnative/releases/tag/v1.94.0) - 2025-04-27
10
15
 
11
16
  - [`d337a15`](https://github.com/alexfalkowski/nonnative/commit/d337a1586bf8eb39f5ceae18f3dc06b852c7a4fc) feat(logger): add logging (#544)
data/Gemfile.lock CHANGED
@@ -1,20 +1,19 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nonnative (1.94.0)
4
+ nonnative (1.95.0)
5
5
  concurrent-ruby (>= 1, < 2)
6
6
  config (>= 5, < 6)
7
7
  cucumber (>= 7, < 10)
8
8
  get_process_mem (>= 1, < 2)
9
9
  grpc (>= 1, < 2)
10
- rackup (>= 2, < 3)
10
+ puma (>= 6, < 7)
11
11
  rest-client (>= 2, < 3)
12
12
  retriable (>= 3, < 4)
13
13
  rspec-benchmark (>= 0, < 1)
14
14
  rspec-expectations (>= 3, < 4)
15
15
  rspec-wait (>= 1, < 2)
16
16
  sinatra (>= 4, < 5)
17
- webrick (>= 1, < 2)
18
17
 
19
18
  GEM
20
19
  remote: https://rubygems.org/
@@ -59,32 +58,18 @@ GEM
59
58
  diff-lcs (1.6.1)
60
59
  docile (1.4.1)
61
60
  domain_name (0.6.20240107)
62
- ffi (1.17.2-arm64-darwin)
63
61
  ffi (1.17.2-x86_64-darwin)
64
- ffi (1.17.2-x86_64-linux-gnu)
65
62
  get_process_mem (1.0.0)
66
63
  bigdecimal (>= 2.0)
67
64
  ffi (~> 1.0)
68
- google-protobuf (4.30.2-arm64-darwin)
69
- bigdecimal
70
- rake (>= 13)
71
65
  google-protobuf (4.30.2-x86_64-darwin)
72
66
  bigdecimal
73
67
  rake (>= 13)
74
- google-protobuf (4.30.2-x86_64-linux)
75
- bigdecimal
76
- rake (>= 13)
77
68
  googleapis-common-protos-types (1.19.0)
78
69
  google-protobuf (>= 3.18, < 5.a)
79
- grpc (1.71.0-arm64-darwin)
80
- google-protobuf (>= 3.25, < 5.0)
81
- googleapis-common-protos-types (~> 1.0)
82
70
  grpc (1.71.0-x86_64-darwin)
83
71
  google-protobuf (>= 3.25, < 5.0)
84
72
  googleapis-common-protos-types (~> 1.0)
85
- grpc (1.71.0-x86_64-linux)
86
- google-protobuf (>= 3.25, < 5.0)
87
- googleapis-common-protos-types (~> 1.0)
88
73
  http-accept (1.7.0)
89
74
  http-cookie (1.0.8)
90
75
  domain_name (~> 0.5)
@@ -101,12 +86,15 @@ GEM
101
86
  mustermann (3.0.3)
102
87
  ruby2_keywords (~> 0.0.1)
103
88
  netrc (0.11.0)
89
+ nio4r (2.7.4)
104
90
  ostruct (0.6.1)
105
91
  parallel (1.27.0)
106
92
  parser (3.3.8.0)
107
93
  ast (~> 2.4.1)
108
94
  racc
109
95
  prism (1.4.0)
96
+ puma (6.6.0)
97
+ nio4r (~> 2.0)
110
98
  racc (1.8.1)
111
99
  rack (3.1.13)
112
100
  rack-protection (4.1.1)
@@ -116,8 +104,6 @@ GEM
116
104
  rack-session (2.1.0)
117
105
  base64 (>= 0.1.0)
118
106
  rack (>= 3.0.0)
119
- rackup (2.2.1)
120
- rack (>= 3)
121
107
  rainbow (3.1.1)
122
108
  rake (13.2.1)
123
109
  rbs (3.9.2)
@@ -194,15 +180,10 @@ GEM
194
180
  unicode-display_width (3.1.4)
195
181
  unicode-emoji (~> 4.0, >= 4.0.4)
196
182
  unicode-emoji (4.0.4)
197
- webrick (1.9.1)
198
183
 
199
184
  PLATFORMS
200
- arm64-darwin-22
201
- arm64-darwin-23
202
- arm64-darwin-24
203
185
  x86_64-darwin-21
204
186
  x86_64-darwin-23
205
- x86_64-linux
206
187
 
207
188
  DEPENDENCIES
208
189
  bundler
data/README.md CHANGED
@@ -264,6 +264,7 @@ require 'nonnative'
264
264
  Nonnative.configure do |config|
265
265
  config.version = '1.0'
266
266
  config.url = 'http://localhost:4567'
267
+ config.log = 'nonnative.log'
267
268
 
268
269
  config.server do |s|
269
270
  s.name = 'http_server_1'
@@ -3,8 +3,12 @@
3
3
  module Nonnative
4
4
  class HTTPServer < Nonnative::Server
5
5
  def initialize(app, service)
6
- @server = ::Rackup::Handler.get('webrick')
7
- @app = app
6
+ log = File.open(service.log, 'a')
7
+ options = {
8
+ log_writer: Puma::LogWriter.new(log, log),
9
+ force_shutdown_after: service.timeout
10
+ }
11
+ @server = Puma::Server.new(app, Puma::Events.new, options)
8
12
 
9
13
  super(service)
10
14
  end
@@ -12,22 +16,16 @@ module Nonnative
12
16
  protected
13
17
 
14
18
  def perform_start
15
- file = File.open(service.log, 'a')
16
- logs = [
17
- [Logger.new(file), WEBrick::AccessLog::COMBINED_LOG_FORMAT]
18
- ]
19
-
20
- server.run(app, Host: proxy.host, Port: proxy.port,
21
- Logger: WEBrick::Log.new(file),
22
- AccessLog: logs)
19
+ server.add_tcp_listener proxy.host, proxy.port
20
+ server.run false
23
21
  end
24
22
 
25
23
  def perform_stop
26
- server.shutdown
24
+ server.graceful_shutdown
27
25
  end
28
26
 
29
27
  private
30
28
 
31
- attr_reader :queue, :server, :app
29
+ attr_reader :queue, :server
32
30
  end
33
31
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nonnative
4
- VERSION = '1.94.0'
4
+ VERSION = '1.95.0'
5
5
  end
data/lib/nonnative.rb CHANGED
@@ -8,7 +8,6 @@ require 'securerandom'
8
8
 
9
9
  require 'grpc'
10
10
  require 'sinatra'
11
- require 'rackup'
12
11
  require 'rest-client'
13
12
  require 'retriable'
14
13
  require 'concurrent'
@@ -18,7 +17,8 @@ require 'get_process_mem'
18
17
  require 'rspec-benchmark'
19
18
  require 'rspec/expectations'
20
19
  require 'rspec/wait'
21
- require 'webrick'
20
+ require 'puma'
21
+ require 'puma/server'
22
22
 
23
23
  require 'nonnative/version'
24
24
  require 'nonnative/error'
data/nonnative.gemspec CHANGED
@@ -29,12 +29,11 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency 'cucumber', '>= 7', '< 10'
30
30
  spec.add_dependency 'get_process_mem', '>= 1', '< 2'
31
31
  spec.add_dependency 'grpc', '>= 1', '< 2'
32
- spec.add_dependency 'rackup', '>= 2', '< 3'
32
+ spec.add_dependency 'puma', '>= 6', '< 7'
33
33
  spec.add_dependency 'rest-client', '>= 2', '< 3'
34
34
  spec.add_dependency 'retriable', '>= 3', '< 4'
35
35
  spec.add_dependency 'rspec-benchmark', '>= 0', '< 1'
36
36
  spec.add_dependency 'rspec-expectations', '>= 3', '< 4'
37
37
  spec.add_dependency 'rspec-wait', '>= 1', '< 2'
38
38
  spec.add_dependency 'sinatra', '>= 4', '< 5'
39
- spec.add_dependency 'webrick', '>= 1', '< 2'
40
39
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nonnative
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.94.0
4
+ version: 1.95.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alejandro Falkowski
@@ -110,25 +110,25 @@ dependencies:
110
110
  - !ruby/object:Gem::Version
111
111
  version: '2'
112
112
  - !ruby/object:Gem::Dependency
113
- name: rackup
113
+ name: puma
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ">="
117
117
  - !ruby/object:Gem::Version
118
- version: '2'
118
+ version: '6'
119
119
  - - "<"
120
120
  - !ruby/object:Gem::Version
121
- version: '3'
121
+ version: '7'
122
122
  type: :runtime
123
123
  prerelease: false
124
124
  version_requirements: !ruby/object:Gem::Requirement
125
125
  requirements:
126
126
  - - ">="
127
127
  - !ruby/object:Gem::Version
128
- version: '2'
128
+ version: '6'
129
129
  - - "<"
130
130
  - !ruby/object:Gem::Version
131
- version: '3'
131
+ version: '7'
132
132
  - !ruby/object:Gem::Dependency
133
133
  name: rest-client
134
134
  requirement: !ruby/object:Gem::Requirement
@@ -249,26 +249,6 @@ dependencies:
249
249
  - - "<"
250
250
  - !ruby/object:Gem::Version
251
251
  version: '5'
252
- - !ruby/object:Gem::Dependency
253
- name: webrick
254
- requirement: !ruby/object:Gem::Requirement
255
- requirements:
256
- - - ">="
257
- - !ruby/object:Gem::Version
258
- version: '1'
259
- - - "<"
260
- - !ruby/object:Gem::Version
261
- version: '2'
262
- type: :runtime
263
- prerelease: false
264
- version_requirements: !ruby/object:Gem::Requirement
265
- requirements:
266
- - - ">="
267
- - !ruby/object:Gem::Version
268
- version: '1'
269
- - - "<"
270
- - !ruby/object:Gem::Version
271
- version: '2'
272
252
  description: Allows you to keep using the power of ruby to test other systems
273
253
  email:
274
254
  - alexrfalkowski@gmail.com