itsi-server 0.2.22 → 0.2.23

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: 4c095031fc57b597bbc6a032600bbebecfbaddb2f30f4caa9880e6fd64d13604
4
- data.tar.gz: 10c1b76bdb681e9cb8e5222d316d12ec5c852fcba2b30395a6b923ee899a2f63
3
+ metadata.gz: fb8f000cf846b5324309070910aac12db86cfe8dc10a792aab03def624e25fe7
4
+ data.tar.gz: 76d9b53f76fd77622aec8059f815a77bdd9684262fc9ff3851292bf5c75f9e57
5
5
  SHA512:
6
- metadata.gz: 72022fd6073d0c7d80ccc14e255148f23e0ded3e1bb8ab486c9ab0ef0374f96964ad744b3d019475f594387d1192cf0990cf77b16c7a6e29404b44f8124e19c0
7
- data.tar.gz: 67ba7810fbe87e0843a45ae41666239a14ba6ecff0cff60ccf1335a3c9cec886848441b946b4d863fe3f984a0f982302c24f47eac813c2aa824c1d1c26a367e1
6
+ metadata.gz: 378978e97506653bc14235b7859390c9f4acde16f9fc2b99025834474568deb12004a140dfaa6b6fdf9a86daa9d7a4ba53c00405ccf962035cd20c49e8eae6d1
7
+ data.tar.gz: b0512cec9b48b744a199d51e39accbad5fcd7904d7e2b47195502fbbe89a665ef7b05be072a2ae639807f0450a3b7a64c4790e78270cae47020d28425f66161a
data/Cargo.lock CHANGED
@@ -1662,7 +1662,7 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
1662
1662
 
1663
1663
  [[package]]
1664
1664
  name = "itsi-server"
1665
- version = "0.2.22"
1665
+ version = "0.2.23"
1666
1666
  dependencies = [
1667
1667
  "argon2",
1668
1668
  "async-channel",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "itsi-scheduler"
3
- version = "0.2.22"
3
+ version = "0.2.23"
4
4
  edition = "2021"
5
5
  authors = ["Wouter Coppieters <wc@pico.net.nz>"]
6
6
  license = "MIT"
@@ -984,7 +984,7 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
984
984
 
985
985
  [[package]]
986
986
  name = "itsi-scheduler"
987
- version = "0.1.0"
987
+ version = "0.2.23"
988
988
  dependencies = [
989
989
  "bytes",
990
990
  "derive_more",
@@ -1002,7 +1002,7 @@ dependencies = [
1002
1002
 
1003
1003
  [[package]]
1004
1004
  name = "itsi-server"
1005
- version = "0.1.0"
1005
+ version = "0.2.23"
1006
1006
  dependencies = [
1007
1007
  "async-channel",
1008
1008
  "async-trait",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "itsi-server"
3
- version = "0.2.22"
3
+ version = "0.2.23"
4
4
  edition = "2021"
5
5
  authors = ["Wouter Coppieters <wc@pico.net.nz>"]
6
6
  license = "MIT"
@@ -263,7 +263,7 @@ impl MiddlewareSet {
263
263
  pub fn stack_for(
264
264
  &self,
265
265
  request: &HttpRequest,
266
- ) -> Result<(&Vec<Middleware>, Option<Arc<Regex>>)> {
266
+ ) -> Option<(&Vec<Middleware>, Option<Arc<Regex>>)> {
267
267
  let binding = self.route_set.matches(request.uri().path());
268
268
  let matches = binding.iter();
269
269
 
@@ -276,7 +276,7 @@ impl MiddlewareSet {
276
276
  let matching_pattern = self.patterns.get(index).cloned();
277
277
  if let Some(stack) = self.stacks.get(&index) {
278
278
  if stack.matches(request) {
279
- return Ok((&stack.layers, matching_pattern));
279
+ return Some((&stack.layers, matching_pattern));
280
280
  }
281
281
  }
282
282
  }
@@ -285,13 +285,7 @@ impl MiddlewareSet {
285
285
  request.uri().path(),
286
286
  self.route_set
287
287
  );
288
- Err(magnus::Error::new(
289
- magnus::Ruby::get().unwrap().exception_standard_error(),
290
- format!(
291
- "No matching middleware stack found for request: {:?}",
292
- request
293
- ),
294
- ))
288
+ None
295
289
  }
296
290
 
297
291
  pub fn parse_middleware(middleware_type: String, parameters: Value) -> Result<Middleware> {
@@ -188,14 +188,11 @@ impl ItsiHttpService {
188
188
  let token_preference = self.server_params.itsi_server_token_preference;
189
189
 
190
190
  let service_future = async move {
191
- let middleware_stack = self
192
- .server_params
193
- .middleware
194
- .get()
195
- .unwrap()
196
- .stack_for(&req)
197
- .unwrap();
198
- let (stack, matching_pattern) = middleware_stack;
191
+ let Some((stack, matching_pattern)) =
192
+ self.server_params.middleware.get().unwrap().stack_for(&req)
193
+ else {
194
+ return Ok(NOT_FOUND_RESPONSE.to_http_response(accept).await);
195
+ };
199
196
  let mut resp: Option<HttpResponse> = None;
200
197
 
201
198
  let mut context =
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Itsi
4
4
  class Server
5
- VERSION = "0.2.22"
5
+ VERSION = "0.2.23"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itsi-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.22
4
+ version: 0.2.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wouter Coppieters
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-03-17 00:00:00.000000000 Z
11
+ date: 2026-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -540,7 +540,7 @@ metadata:
540
540
  homepage_uri: https://itsi.fyi
541
541
  source_code_uri: https://github.com/wouterken/itsi
542
542
  changelog_uri: https://github.com/wouterken/itsi/blob/main/CHANGELOG.md
543
- post_install_message:
543
+ post_install_message:
544
544
  rdoc_options: []
545
545
  require_paths:
546
546
  - lib
@@ -556,7 +556,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
556
556
  version: '3.1'
557
557
  requirements: []
558
558
  rubygems_version: 3.3.27
559
- signing_key:
559
+ signing_key:
560
560
  specification_version: 4
561
561
  summary: Itsi Server - A light-weight Rack Server implementation for Ruby.
562
562
  test_files: []