itsi 0.2.8 → 0.2.9
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/crates/itsi_scheduler/Cargo.toml +1 -1
- data/crates/itsi_server/Cargo.toml +1 -1
- data/crates/itsi_server/src/services/itsi_http_service.rs +7 -10
- data/docs/content/getting_started/_index.md +9 -12
- data/gems/scheduler/Cargo.lock +1 -1
- data/gems/scheduler/itsi-scheduler.gemspec +1 -1
- data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
- data/gems/scheduler/lib/itsi/scheduler.rb +1 -1
- data/gems/server/Cargo.lock +1 -1
- data/gems/server/lib/itsi/server/config.rb +2 -0
- data/gems/server/lib/itsi/server/version.rb +1 -1
- data/gems/server/test/rack/test_rack_server.rb +2 -3
- data/lib/itsi/version.rb +1 -1
- data/tasks.txt +4 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2fefdf2d68abfbe038795e1220accdd23d9f69499e981cfd26786960be2ec8d6
|
4
|
+
data.tar.gz: 3be893a613f9472ce448a125648630f99c4ea5a50deecc81926b731674dbc1d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f00f52320b33b8ee559eb90e4bfa60e48b0f72c6cf01666ab961e3d1eb34e9249f20990d9376f359f84d0fe18ae9b273b34495fe1f21e69b02b79bc5ce94e1f
|
7
|
+
data.tar.gz: 3e50141347d296b1b246636d7cd298a2540405d57872b6c6812edc9b0e351de1e4c59f89e36800be6c2cbb58493a426a876d07c919e978bbccd0dd0ce312c7ea
|
@@ -108,16 +108,13 @@ impl HttpRequestContext {
|
|
108
108
|
}
|
109
109
|
|
110
110
|
pub fn set_supported_encoding_set(&self, req: &HttpRequest) {
|
111
|
-
|
112
|
-
.headers()
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
.supported_encoding_set
|
119
|
-
.set(supported_encoding_set)
|
120
|
-
.unwrap();
|
111
|
+
self.inner.supported_encoding_set.get_or_init(move || {
|
112
|
+
req.headers()
|
113
|
+
.get_all(ACCEPT_ENCODING)
|
114
|
+
.into_iter()
|
115
|
+
.cloned()
|
116
|
+
.collect::<Vec<_>>()
|
117
|
+
});
|
121
118
|
}
|
122
119
|
|
123
120
|
pub fn set_origin(&self, origin: Option<String>) {
|
@@ -27,52 +27,49 @@ Install Ruby
|
|
27
27
|
|
28
28
|
Then use `gem` to install Itsi, or its components based on your Ruby version.
|
29
29
|
|
30
|
-
**For Ruby >= 3.
|
30
|
+
**For Ruby >= 3.0**:
|
31
31
|
```bash
|
32
32
|
gem install itsi
|
33
33
|
```
|
34
34
|
*(Installs both `itsi-server` and `itsi-scheduler`)*
|
35
35
|
|
36
|
-
**For Ruby 2.7
|
36
|
+
**For Ruby 2.7**:
|
37
37
|
```bash
|
38
38
|
gem install itsi-server
|
39
39
|
```
|
40
|
-
*(Installs `itsi-server` only; `itsi-scheduler` is not supported on Ruby
|
40
|
+
*(Installs `itsi-server` only; `itsi-scheduler` is not supported on Ruby 2.7)*
|
41
41
|
|
42
42
|
{{< callout type="info" >}}
|
43
|
-
Itsi (**server + scheduler**) requires **Ruby >= 3.
|
43
|
+
Itsi (**server + scheduler**) requires **Ruby >= 3.0**.
|
44
44
|
|
45
45
|
Itsi **server** supports **Ruby >= 2.7**.
|
46
46
|
|
47
47
|
If you wish to use either the scheduler or server independently:
|
48
48
|
- `gem install itsi-server`
|
49
|
-
- `gem install itsi-scheduler` (Ruby >= 3.
|
50
|
-
|
49
|
+
- `gem install itsi-scheduler` (Ruby >= 3.0 only)
|
51
50
|
{{< /callout >}}
|
52
51
|
|
53
52
|
{{< /tab >}}
|
54
53
|
{{< tab >}}
|
55
54
|
**Mac**:
|
56
|
-
**For Ruby >= 3.
|
55
|
+
**For Ruby >= 3.0**:
|
57
56
|
```bash
|
58
57
|
gem install itsi
|
59
58
|
```
|
60
59
|
|
61
|
-
**For Ruby 2.7
|
60
|
+
**For Ruby 2.7**:
|
62
61
|
```bash
|
63
62
|
gem install itsi-server
|
64
63
|
```
|
65
64
|
|
66
65
|
{{< callout type="info" >}}
|
67
|
-
Itsi (**server + scheduler**) requires **Ruby >= 3.
|
66
|
+
Itsi (**server + scheduler**) requires **Ruby >= 3.0**.
|
68
67
|
|
69
68
|
Itsi **server** supports **Ruby >= 2.7**.
|
70
69
|
|
71
70
|
You can install components individually:
|
72
71
|
- `gem install itsi-server`
|
73
|
-
- `gem install itsi-scheduler` (Ruby >= 3.
|
74
|
-
|
75
|
-
⚠️ Scheduler is not compatible with Ruby 3.0.
|
72
|
+
- `gem install itsi-scheduler` (Ruby >= 3.0 only)
|
76
73
|
{{< /callout >}}
|
77
74
|
|
78
75
|
{{< /tab >}}
|
data/gems/scheduler/Cargo.lock
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = "Itsi Scheduler - A light-weight Fiber Scheduler implementation for Ruby"
|
13
13
|
spec.homepage = "https://itsi.fyi"
|
14
14
|
spec.license = "MIT"
|
15
|
-
spec.required_ruby_version = ">= 3.
|
15
|
+
spec.required_ruby_version = ">= 3.0"
|
16
16
|
spec.required_rubygems_version = ">= 3.1.11"
|
17
17
|
|
18
18
|
spec.metadata["homepage_uri"] = spec.homepage
|
data/gems/server/Cargo.lock
CHANGED
@@ -35,6 +35,7 @@ module Itsi
|
|
35
35
|
# 3. Default values.
|
36
36
|
def self.build_config(args, config_file_path, builder_proc = nil)
|
37
37
|
args.transform_keys!(&:to_sym)
|
38
|
+
|
38
39
|
itsifile_config, errors = \
|
39
40
|
if builder_proc
|
40
41
|
DSL.evaluate(&builder_proc)
|
@@ -105,6 +106,7 @@ module Itsi
|
|
105
106
|
Server.write_pid
|
106
107
|
end
|
107
108
|
|
109
|
+
|
108
110
|
srv_config = {
|
109
111
|
workers: args.fetch(:workers) { itsifile_config.fetch(:workers, 1) },
|
110
112
|
worker_memory_limit: args.fetch(:worker_memory_limit) { itsifile_config.fetch(:worker_memory_limit, nil) },
|
@@ -75,7 +75,7 @@ class TestRackServer < Minitest::Test
|
|
75
75
|
end
|
76
76
|
|
77
77
|
def test_scheduler_non_blocking
|
78
|
-
return unless RUBY_VERSION > "3.
|
78
|
+
return unless RUBY_VERSION > "3.0"
|
79
79
|
|
80
80
|
server(
|
81
81
|
itsi_rb: lambda do
|
@@ -193,7 +193,7 @@ class TestRackServer < Minitest::Test
|
|
193
193
|
server(app: lambda do |env|
|
194
194
|
[200, { "Content-Type" => "text/plain", "Set-Cookie" => "session=abc123; Path=/" }, ["Cookie Test"]]
|
195
195
|
end) do
|
196
|
-
response = get_resp(
|
196
|
+
response = get_resp("/")
|
197
197
|
assert_equal "200", response.code
|
198
198
|
assert_match(/session=abc123/, response["set-cookie"])
|
199
199
|
assert_equal "Cookie Test", response.body
|
@@ -258,7 +258,6 @@ class TestRackServer < Minitest::Test
|
|
258
258
|
header_value = env["HTTP_X_MY_HEADER"] || ""
|
259
259
|
[200, { "Content-Type" => "text/plain" }, [header_value]]
|
260
260
|
end) do |uri|
|
261
|
-
|
262
261
|
req = Net::HTTP::Get.new(uri)
|
263
262
|
req["X-My-Header"] = "test-header"
|
264
263
|
response = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(req) }
|
data/lib/itsi/version.rb
CHANGED
data/tasks.txt
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itsi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wouter Coppieters
|
@@ -15,28 +15,28 @@ dependencies:
|
|
15
15
|
requirements:
|
16
16
|
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: 0.2.
|
18
|
+
version: 0.2.9
|
19
19
|
type: :runtime
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - "~>"
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: 0.2.
|
25
|
+
version: 0.2.9
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: itsi-server
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
30
|
- - "~>"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.2.
|
32
|
+
version: 0.2.9
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.2.
|
39
|
+
version: 0.2.9
|
40
40
|
description: Wrapper Gem for both the Itsi server and the Itsi Fiber scheduler
|
41
41
|
email:
|
42
42
|
- wc@pico.net.nz
|
@@ -1035,7 +1035,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1035
1035
|
requirements:
|
1036
1036
|
- - ">="
|
1037
1037
|
- !ruby/object:Gem::Version
|
1038
|
-
version: '3.
|
1038
|
+
version: '3.0'
|
1039
1039
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1040
1040
|
requirements:
|
1041
1041
|
- - ">="
|