itsi-server 0.2.8 → 0.2.10

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: af4b4507b2a8f479ed8ff4c624f37caacfe7f3315c9d91aa701f2695132890dc
4
- data.tar.gz: 481f479beddf0fd8d8f5e0efa456de5ec85412432f6bf118fc5a7ab3d37818b3
3
+ metadata.gz: 1299ba07e4b4de522049dbf9df9c8948810c0b10f0a82da2f79585d66f803a51
4
+ data.tar.gz: 1f6d3ed4821cb0d8652a7659ea9ab6d60643901b307f7e925e818b69fbc5db2c
5
5
  SHA512:
6
- metadata.gz: 4a834041382f80fe187ecf2b1bd7ff06ea019d38de25f385f59d0a2f5c0fb0a86136e091a4d83963535410690c1aa742f384ea54e615cf02d17a6a74103bef75
7
- data.tar.gz: ebcd44edf2e628851ae9a6d67734a04b5cdd32f2cc689646eb52db07433ab030a38163915ce4fdbbac68ac7196c452ac237752521b61aa729881a85b93d5d2f9
6
+ metadata.gz: ff5e1d66975a9406fb832e6a742679cc018507223078fac096776fd51324def81a022db3b1324456fa86f2b36f92ce7b79f4cce05c93567e48b25fc02a1ff25d
7
+ data.tar.gz: bd898dedfdfa333c5eb7e69d55883585218bcc7ed34c6318b33fd1cf9cf9d66fdb44b4fdeab7f5c87c8ebba3937574545fbc1ba1955e78227f2334fb8acbea77
data/Cargo.lock CHANGED
@@ -1644,7 +1644,7 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
1644
1644
 
1645
1645
  [[package]]
1646
1646
  name = "itsi-server"
1647
- version = "0.2.8"
1647
+ version = "0.2.10"
1648
1648
  dependencies = [
1649
1649
  "argon2",
1650
1650
  "async-channel",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "itsi-scheduler"
3
- version = "0.2.8"
3
+ version = "0.2.10"
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.8"
3
+ version = "0.2.10"
4
4
  edition = "2021"
5
5
  authors = ["Wouter Coppieters <wc@pico.net.nz>"]
6
6
  license = "MIT"
@@ -108,16 +108,13 @@ impl HttpRequestContext {
108
108
  }
109
109
 
110
110
  pub fn set_supported_encoding_set(&self, req: &HttpRequest) {
111
- let supported_encoding_set = req
112
- .headers()
113
- .get_all(ACCEPT_ENCODING)
114
- .into_iter()
115
- .cloned()
116
- .collect::<Vec<_>>();
117
- self.inner
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>) {
@@ -35,12 +35,13 @@ 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)
41
42
  elsif args[:static]
42
43
  DSL.evaluate do
43
- location "/" do
44
+ location "*" do
44
45
  rate_limit key: "address", store_config: "in_memory", requests: 2, seconds: 5
45
46
  etag type: "strong", algorithm: "md5", min_body_size: 1024 * 1024
46
47
  compress min_size: 1024 * 1024, level: "fastest", algorithms: %w[zstd gzip br deflate],
@@ -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) },
@@ -147,9 +149,8 @@ module Itsi
147
149
  }.transform_keys(&:to_s)
148
150
 
149
151
  [srv_config, errors_to_error_lines(errors)]
150
- rescue StandardError
151
- Itsi.log_error e.message
152
- puts e.backtrace
152
+ rescue StandardError => e
153
+ [{}, errors_to_error_lines([[e, e.backtrace[0]]])]
153
154
  end
154
155
 
155
156
  def self.test!(cli_params)
@@ -177,7 +178,7 @@ module Itsi
177
178
  location = message[/(.*?):in/, 1]
178
179
  file, lineno = location.split(":")
179
180
  lineno = lineno.to_i
180
- err_message = error.is_a?(NoMethodError) ? error.detailed_message : error.message
181
+ err_message = error.is_a?(NoMethodError) && error.respond_to?(:detailed_message) ? error.detailed_message : error.message
181
182
  file_lines = IO.readlines(file)
182
183
  info_lines = \
183
184
  if error.is_a?(SyntaxError)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Itsi
4
4
  class Server
5
- VERSION = "0.2.8"
5
+ VERSION = "0.2.10"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itsi-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wouter Coppieters