itsi 0.2.4 → 0.2.5

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: c0f48a4cf96ec2afd196a828cd9b264a019673ce1cb690229c57a4f113f47e52
4
- data.tar.gz: 6119bc422b0ec00e7d4d9c52314d725c441e2117275402c838f1ee47166b000a
3
+ metadata.gz: f90c259663c195622bed76fc95256caa874c3043fdc630ccf209b41b2b82e96d
4
+ data.tar.gz: 50ffafb3b992cac60ab52d345515313c9e57e8384ccb290a39d23de1f6865d63
5
5
  SHA512:
6
- metadata.gz: 7d572b3bad1e3156eb2e0c5da02d9ac5b988f37b19d33fdac7f475cd6161563c4d5befaae7d5776fc30e1089fe8f2d025e9557978f618980260e6d1715f2783c
7
- data.tar.gz: 3913fb88decca4a0fc83e2c0136056d5eff6b703c498cb0d160c9bf2accadbe50a01c23d6380eb0a87a41e7901f2dbac6cf1050c566f2250a91fc51991a4749d
6
+ metadata.gz: aa728ebb928d81e5cc4ce1b86068cb713bf356caa4c0b817b2a05233e2cdf886838c1e6972e13bfe287b3e300f8b04b5841b6a3000d4b37fbc1276417b9f439d
7
+ data.tar.gz: afb6476bf0a6592a264132c601c7dbf203293769e023e999926d1777cf9ebf90ff7d13b10e6a8215028971a6cc47126e419b427e03242d70b5d301ef730c2ad0
data/Cargo.lock CHANGED
@@ -1644,7 +1644,7 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
1644
1644
 
1645
1645
  [[package]]
1646
1646
  name = "itsi-scheduler"
1647
- version = "0.2.4"
1647
+ version = "0.2.5"
1648
1648
  dependencies = [
1649
1649
  "bytes",
1650
1650
  "derive_more",
@@ -1662,7 +1662,7 @@ dependencies = [
1662
1662
 
1663
1663
  [[package]]
1664
1664
  name = "itsi-server"
1665
- version = "0.2.4"
1665
+ version = "0.2.5"
1666
1666
  dependencies = [
1667
1667
  "argon2",
1668
1668
  "async-channel",
@@ -159,7 +159,6 @@ where
159
159
  eprintln!("Thread killed");
160
160
  break;
161
161
  }
162
- eprintln!("Killing thread {:?}", thr.as_value());
163
162
  thr.funcall::<_, _, Value>("terminate", ())
164
163
  .expect("Failed to kill thread");
165
164
  }
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "itsi-scheduler"
3
- version = "0.2.4"
3
+ version = "0.2.5"
4
4
  edition = "2021"
5
5
  authors = ["Wouter Coppieters <wc@pico.net.nz>"]
6
6
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "itsi-server"
3
- version = "0.2.4"
3
+ version = "0.2.5"
4
4
  edition = "2021"
5
5
  authors = ["Wouter Coppieters <wc@pico.net.nz>"]
6
6
  license = "MIT"
@@ -213,7 +213,7 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
213
213
 
214
214
  [[package]]
215
215
  name = "itsi-scheduler"
216
- version = "0.2.4"
216
+ version = "0.2.5"
217
217
  dependencies = [
218
218
  "bytes",
219
219
  "derive_more",
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Itsi
4
4
  class Scheduler
5
- VERSION = "0.2.4"
5
+ VERSION = "0.2.5"
6
6
  end
7
7
  end
@@ -1644,7 +1644,7 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
1644
1644
 
1645
1645
  [[package]]
1646
1646
  name = "itsi-server"
1647
- version = "0.2.4"
1647
+ version = "0.2.5"
1648
1648
  dependencies = [
1649
1649
  "argon2",
1650
1650
  "async-channel",
@@ -33,12 +33,12 @@ module Itsi
33
33
  @params[:key_id_source] = nil
34
34
  end
35
35
 
36
- if File.exist?(".itsi-credentials") && !@params[:credential_file]
37
- @params[:credential_file] = ".itsi-credentials"
36
+ if File.exist?(".itsi-credentials") && !@params[:credentials_file]
37
+ @params[:credentials_file] = ".itsi-credentials"
38
38
  end
39
39
 
40
- if @params[:credential_file] && File.exist?(@params[:credential_file])
41
- @params[:valid_keys] = Passfile.load(@params[:credential_file])
40
+ if @params[:credentials_file] && File.exist?(@params[:credentials_file])
41
+ @params[:valid_keys] = Passfile.load(@params[:credentials_file])
42
42
  end
43
43
 
44
44
  unless @params[:valid_keys]&.any?
@@ -21,16 +21,18 @@ module Itsi
21
21
 
22
22
  def initialize(location, params={})
23
23
  super
24
+
24
25
  unless @params[:credential_pairs]&.any?
25
- if File.exist?(".itsi-credentials") && !@params[:credential_file]
26
- @params[:credential_file] = ".itsi-credentials"
26
+ if File.exist?(".itsi-credentials") && !@params[:credentials_file]
27
+ @params[:credentials_file] = ".itsi-credentials"
27
28
  end
28
29
 
29
- if @params[:credential_file] && File.exist?(@params[:credential_file])
30
- @params[:credential_pairs] = Passfile.load(@params[:credential_file])
30
+ if @params[:credentials_file] && File.exist?(@params[:credentials_file])
31
+ @params[:credential_pairs] = Passfile.load(@params[:credentials_file])
31
32
  end
32
33
  end
33
34
 
35
+ raise "No credentials provided" unless @params[:credential_pairs]
34
36
  @params[:credential_pairs].compact!
35
37
 
36
38
  unless @params[:credential_pairs]&.any?
@@ -63,9 +63,9 @@ module Itsi
63
63
  root_dir = @params[:root_dir] || "."
64
64
 
65
65
  if !File.exist?(root_dir)
66
- warn "Warning: static_assets root_dir '#{root_dir}' does not exist!"
66
+ raise "Warning: static_assets root_dir '#{root_dir}' does not exist!"
67
67
  elsif !File.directory?(root_dir)
68
- warn "Warning: static_assets root_dir '#{root_dir}' is not a directory!"
68
+ raise "Warning: static_assets root_dir '#{root_dir}' is not a directory!"
69
69
  end
70
70
 
71
71
  @params[:relative_path] = true unless @params.key?(:relative_path)
@@ -18,20 +18,24 @@ For the best development experience, be sure to use [RubyLSP](https://shopify.gi
18
18
 
19
19
  ```ruby {filename="Itsi.rb"}
20
20
  workers 2
21
+
21
22
  threads 2
22
- scheduler_threads 3
23
23
 
24
24
  fiber_scheduler true
25
25
 
26
- rate_limiter requests: 100, seconds: 10
26
+ auth_basic realm: "Restricted Area", credentials_file: "./credentials.txt"
27
+
28
+ auto_reload_config! # Auto-reload the server configuration each time it changes.
27
29
 
28
- auth_basic realm: "Restricted Area", credentials_file: "credentials.txt"
30
+ location "/app*" do
31
+ rate_limit requests: 3, seconds: 5
32
+ rackup_file "config.ru"
33
+ end
29
34
 
30
- location "/app" do
35
+ location "/inline*" do
31
36
  get "/" do |req|
32
37
  req.ok "Hello, World!"
33
38
  end
34
39
  end
35
-
36
40
  ```
37
41
  {{< /details >}}
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Itsi
4
4
  class Server
5
- VERSION = "0.2.4"
5
+ VERSION = "0.2.5"
6
6
  end
7
7
  end
data/lib/itsi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Itsi
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
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
4
+ version: 0.2.5
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.4
18
+ version: 0.2.5
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.4
25
+ version: 0.2.5
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.4
32
+ version: 0.2.5
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.4
39
+ version: 0.2.5
40
40
  description: Wrapper Gem for both the Itsi server and the Itsi Fiber scheduler
41
41
  email:
42
42
  - wc@pico.net.nz