eac_envs-http 0.6.0 → 0.7.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/lib/eac_envs/http/request/body_field.rb +0 -4
- data/lib/eac_envs/http/request/body_field_value.rb +0 -5
- data/lib/eac_envs/http/request/body_fields.rb +0 -3
- data/lib/eac_envs/http/request/faraday_connection.rb +0 -7
- data/lib/eac_envs/http/request.rb +2 -5
- data/lib/eac_envs/http/response/body.rb +0 -3
- data/lib/eac_envs/http/response/headers.rb +0 -2
- data/lib/eac_envs/http/response/links.rb +0 -1
- data/lib/eac_envs/http/response/statuses.rb +0 -2
- data/lib/eac_envs/http/response.rb +0 -6
- data/lib/eac_envs/http/rspec/echo_server/http_server.rb +31 -0
- data/lib/eac_envs/http/rspec/echo_server/request_processor.rb +0 -2
- data/lib/eac_envs/http/rspec/echo_server/webrick_servlet.rb +0 -3
- data/lib/eac_envs/http/rspec/echo_server.rb +26 -19
- data/lib/eac_envs/http/version.rb +1 -1
- data/lib/eac_envs/http.rb +10 -2
- data/lib/eac_envs.rb +4 -0
- metadata +44 -23
- data/lib/eac_envs/http/rspec.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d35703eb0286b3fb08eba23a42f4f8dad4f80906ef1b06a4491ff191caf128e1
|
4
|
+
data.tar.gz: 60558c597664fbff0237efec6e16c0a9b1eb376057d9119f19386c32ff9d3e75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb7bc6120f6da34d9e62787d86b73622adc3f716a108d8acc5fc17a4e69eef568a2897e0abda9bccb8f07707c7171d72a11dfdd98b3e056774ebe8cb425bdc15
|
7
|
+
data.tar.gz: 171e31a40dbe1227f67b9898048cf38f02ad4b8edfedc2ebdfc746acabde294e19ccee6fd9c2903d8e24e228817a5bc6959f5521c7dac91f3416c02a51221210
|
@@ -1,12 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
require 'faraday'
|
5
|
-
require 'faraday/follow_redirects'
|
6
|
-
require 'faraday/gzip'
|
7
|
-
require 'faraday/multipart'
|
8
|
-
require 'faraday/retry'
|
9
|
-
|
10
3
|
module EacEnvs
|
11
4
|
module Http
|
12
5
|
class Request
|
@@ -1,8 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_envs/http/response'
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
5
|
-
|
6
3
|
module EacEnvs
|
7
4
|
module Http
|
8
5
|
class Request
|
@@ -50,7 +47,7 @@ module EacEnvs
|
|
50
47
|
private
|
51
48
|
|
52
49
|
def sanitized_body_data
|
53
|
-
body_fields.to_h || body_data
|
50
|
+
body_fields.to_h || body_data # rubocop:disable Lint/UselessOr
|
54
51
|
end
|
55
52
|
|
56
53
|
# @return [void]
|
@@ -62,7 +59,7 @@ module EacEnvs
|
|
62
59
|
end
|
63
60
|
end
|
64
61
|
|
65
|
-
require_sub __FILE__,
|
62
|
+
require_sub __FILE__, require_mode: :kernel
|
66
63
|
end
|
67
64
|
end
|
68
65
|
end
|
@@ -1,11 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'active_support/core_ext/hash/conversions'
|
4
|
-
require 'eac_envs/http/error'
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
6
|
-
require 'faraday'
|
7
|
-
require 'json'
|
8
|
-
|
9
3
|
module EacEnvs
|
10
4
|
module Http
|
11
5
|
class Response < ::StandardError
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'webrick'
|
4
|
+
# require 'webrick/https'
|
5
|
+
|
6
|
+
module EacEnvs
|
7
|
+
module Http
|
8
|
+
module Rspec
|
9
|
+
class EchoServer
|
10
|
+
class HttpServer < ::WEBrick::HTTPServer
|
11
|
+
def initialize(options)
|
12
|
+
super
|
13
|
+
mount '/', ::EacEnvs::Http::Rspec::EchoServer::WebrickServlet
|
14
|
+
end
|
15
|
+
|
16
|
+
def on_running(&block)
|
17
|
+
::Thread.abort_on_exception = true
|
18
|
+
servlet_thread = ::Thread.new { start }
|
19
|
+
begin
|
20
|
+
sleep 0.001 while status != :Running
|
21
|
+
block.call
|
22
|
+
ensure
|
23
|
+
shutdown
|
24
|
+
servlet_thread.join
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -1,7 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'addressable'
|
4
|
-
|
4
|
+
|
5
|
+
require 'random-port'
|
5
6
|
require 'webrick'
|
6
7
|
require 'webrick/https'
|
7
8
|
|
@@ -11,8 +12,8 @@ module EacEnvs
|
|
11
12
|
class EchoServer
|
12
13
|
HOSTNAME = 'localhost'
|
13
14
|
SCHEMES = {
|
14
|
-
http: {
|
15
|
-
https: {
|
15
|
+
http: {},
|
16
|
+
https: { SSLEnable: true, SSLCertName: [['CN', HOSTNAME]] }
|
16
17
|
}.freeze
|
17
18
|
|
18
19
|
class << self
|
@@ -27,15 +28,8 @@ module EacEnvs
|
|
27
28
|
common_constructor :scheme, :webrick_options
|
28
29
|
|
29
30
|
def on_active(&block)
|
30
|
-
|
31
|
-
|
32
|
-
servlet_thread = ::Thread.new { servlet.start }
|
33
|
-
begin
|
34
|
-
sleep 0.001 while servlet.status != :Running
|
35
|
-
block.call
|
36
|
-
ensure
|
37
|
-
servlet.shutdown
|
38
|
-
servlet_thread.join
|
31
|
+
on_aquired_port do
|
32
|
+
http_server.on_running(&block)
|
39
33
|
end
|
40
34
|
end
|
41
35
|
|
@@ -43,17 +37,30 @@ module EacEnvs
|
|
43
37
|
::Addressable::URI.new(
|
44
38
|
scheme: scheme.to_s,
|
45
39
|
host: ::EacEnvs::Http::Rspec::EchoServer::HOSTNAME,
|
46
|
-
port:
|
40
|
+
port: port!
|
47
41
|
)
|
48
42
|
end
|
49
43
|
|
50
|
-
|
44
|
+
protected
|
45
|
+
|
46
|
+
attr_accessor :port
|
47
|
+
|
48
|
+
# @return [EacEnvs::Http::Rspec::EchoServer::HttpServer]
|
49
|
+
def http_server
|
50
|
+
::EacEnvs::Http::Rspec::EchoServer::HttpServer.new(webrick_options.merge(Port: port!))
|
51
|
+
end
|
52
|
+
|
53
|
+
def on_aquired_port(&block)
|
54
|
+
::RandomPort::Pool.new.acquire do |port|
|
55
|
+
self.port = port
|
56
|
+
block.call
|
57
|
+
self.port = nil
|
58
|
+
end
|
59
|
+
end
|
51
60
|
|
52
|
-
# @return [
|
53
|
-
def
|
54
|
-
|
55
|
-
r.mount '/', ::EacEnvs::Http::Rspec::EchoServer::WebrickServlet
|
56
|
-
r
|
61
|
+
# @return [Integer]
|
62
|
+
def port!
|
63
|
+
port.presence || raise('Port unsetted')
|
57
64
|
end
|
58
65
|
|
59
66
|
require_sub __FILE__
|
data/lib/eac_envs/http.rb
CHANGED
@@ -1,9 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_ruby_utils
|
3
|
+
require 'eac_ruby_utils'
|
4
|
+
EacRubyUtils::RootModuleSetup.perform __FILE__
|
4
5
|
|
5
6
|
module EacEnvs
|
6
7
|
module Http
|
7
|
-
require_sub __FILE__
|
8
8
|
end
|
9
9
|
end
|
10
|
+
|
11
|
+
require 'eac_fs'
|
12
|
+
require 'faraday'
|
13
|
+
require 'faraday/follow_redirects'
|
14
|
+
require 'faraday/gzip'
|
15
|
+
require 'faraday/multipart'
|
16
|
+
require 'faraday/retry'
|
17
|
+
require 'json'
|
data/lib/eac_envs.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eac_envs-http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eac_fs
|
@@ -16,34 +16,34 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.18.1
|
19
|
+
version: '0.19'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '0.
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 0.18.1
|
26
|
+
version: '0.19'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: eac_ruby_utils
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
31
|
- - "~>"
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version: '0.
|
33
|
+
version: '0.128'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 0.128.3
|
40
37
|
type: :runtime
|
41
38
|
prerelease: false
|
42
39
|
version_requirements: !ruby/object:Gem::Requirement
|
43
40
|
requirements:
|
44
41
|
- - "~>"
|
45
42
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0.
|
43
|
+
version: '0.128'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 0.128.3
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: faraday
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,60 +98,81 @@ dependencies:
|
|
98
98
|
requirements:
|
99
99
|
- - "~>"
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version: '1.
|
101
|
+
version: '1.1'
|
102
102
|
- - ">="
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: 1.
|
104
|
+
version: 1.1.1
|
105
105
|
type: :runtime
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: '1.
|
111
|
+
version: '1.1'
|
112
112
|
- - ">="
|
113
113
|
- !ruby/object:Gem::Version
|
114
|
-
version: 1.
|
114
|
+
version: 1.1.1
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: faraday-retry
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
118
118
|
requirements:
|
119
119
|
- - "~>"
|
120
120
|
- !ruby/object:Gem::Version
|
121
|
-
version: '2.
|
121
|
+
version: '2.3'
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 2.3.2
|
125
|
+
type: :runtime
|
126
|
+
prerelease: false
|
127
|
+
version_requirements: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '2.3'
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 2.3.2
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: random-port
|
137
|
+
requirement: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - "~>"
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0.7'
|
122
142
|
- - ">="
|
123
143
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
144
|
+
version: 0.7.1
|
125
145
|
type: :runtime
|
126
146
|
prerelease: false
|
127
147
|
version_requirements: !ruby/object:Gem::Requirement
|
128
148
|
requirements:
|
129
149
|
- - "~>"
|
130
150
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
151
|
+
version: '0.7'
|
132
152
|
- - ">="
|
133
153
|
- !ruby/object:Gem::Version
|
134
|
-
version:
|
154
|
+
version: 0.7.1
|
135
155
|
- !ruby/object:Gem::Dependency
|
136
156
|
name: eac_ruby_gem_support
|
137
157
|
requirement: !ruby/object:Gem::Requirement
|
138
158
|
requirements:
|
139
159
|
- - "~>"
|
140
160
|
- !ruby/object:Gem::Version
|
141
|
-
version: '0.
|
161
|
+
version: '0.12'
|
142
162
|
type: :development
|
143
163
|
prerelease: false
|
144
164
|
version_requirements: !ruby/object:Gem::Requirement
|
145
165
|
requirements:
|
146
166
|
- - "~>"
|
147
167
|
- !ruby/object:Gem::Version
|
148
|
-
version: '0.
|
168
|
+
version: '0.12'
|
149
169
|
description:
|
150
170
|
email:
|
151
171
|
executables: []
|
152
172
|
extensions: []
|
153
173
|
extra_rdoc_files: []
|
154
174
|
files:
|
175
|
+
- lib/eac_envs.rb
|
155
176
|
- lib/eac_envs/http.rb
|
156
177
|
- lib/eac_envs/http/error.rb
|
157
178
|
- lib/eac_envs/http/request.rb
|
@@ -164,8 +185,8 @@ files:
|
|
164
185
|
- lib/eac_envs/http/response/headers.rb
|
165
186
|
- lib/eac_envs/http/response/links.rb
|
166
187
|
- lib/eac_envs/http/response/statuses.rb
|
167
|
-
- lib/eac_envs/http/rspec.rb
|
168
188
|
- lib/eac_envs/http/rspec/echo_server.rb
|
189
|
+
- lib/eac_envs/http/rspec/echo_server/http_server.rb
|
169
190
|
- lib/eac_envs/http/rspec/echo_server/request_processor.rb
|
170
191
|
- lib/eac_envs/http/rspec/echo_server/webrick_servlet.rb
|
171
192
|
- lib/eac_envs/http/version.rb
|