Commit Graph

4930 Commits

Author SHA1 Message Date
Yuki Okushi 5a6c8d235b
feat(http,web): expose config for H2 window sizes (#3926)
* feat(http,web): expose config for H2 window sizes

* changelog
2026-02-15 16:36:27 +09:00
Yuki Okushi 6d81907540
fix(files,http,web): do not compress 206 at all (#3923) 2026-02-15 08:56:43 +09:00
Yuki Okushi b1fb44722a
docs(files): improve `index_file` docs (#3924) 2026-02-14 20:52:04 +09:00
Yuki Okushi f31f9bc92c
fix(files): do not panic on pre-EPOCH files (#3922) 2026-02-14 10:25:48 +09:00
Yuki Okushi 0fb2527c60
fix(router,web): fix panic when normalizing and rewriting paths (#3919) 2026-02-12 21:28:17 +09:00
Yuki Okushi 7d81d7b5c8
docs(web): Add notes for request headers (#3921) 2026-02-12 21:28:02 +09:00
Yuki Okushi d66f89b7b6
feat(http,web): add config for `TCP_NODELAY` (#3918) 2026-02-12 05:57:02 +09:00
Yuki Okushi d98b35db92
docs(web): add note about experimental feature (#3916) 2026-02-11 15:45:14 +09:00
Guillermo Céspedes Tabárez 84ddfe7b97
feat(web): initial support for route and HTTP method introspection (#3594)
* feat(resources-introspection): add support for resource metadata retrieval

* misc: remove debug print

* style: cargo fmt

* fix(guards): replace take_guards with get_guards to prevent guard removal and fix test failures

* ci: downgrade for msrv litemap to version 0.7.4 in justfile

* chore: update changelog and fix docs for CI

* ci: downgrade for msrv zerofrom to version 0.1.5 in justfile

* refactor: improve thread safety and add unit tests for introspection process

* fix(introspection): add conditional arbiter creation for io-uring support

* fix(introspection): add conditional arbiter creation for io-uring support

* refactor(introspection): add GuardDetail enum and remove downcast_ref usage

- Added `GuardDetail` enum to encapsulate various introspection details of a guard.
- Refactored `HttpMethodsExtractor` implementation to use `GuardDetail` instead of `downcast_ref`.

* refactor(introspection): add GuardDetail enum and remove downcast_ref usage

- Added `GuardDetail` enum to encapsulate various introspection details of a guard.
- Refactored `HttpMethodsExtractor` implementation to use `GuardDetail` instead of `downcast_ref`.

* feat(introspection): rename feature from `resources-introspection` to `experimental-introspection`
- Refactored introspection logic.
- Enhanced route introspection to register HTTP methods and guard names.
- Added example for testing the experimental introspection feature.

* fix Cargo.lock

* feat(introspection): enhance introspection feature with detailed route registration and full path tracking

* optimize debug log and apply clippy/fmt suggestions

* feat(introspection): enhance introspection handlers for JSON and plain text responses

* feat(introspection): implement experimental introspection feature with multiple App instances

* Enhance experimental introspection feature with detailed route reporting

- Introduced a new `experimental-introspection` feature that provides comprehensive reports on configured routes, including paths, methods, guards, and resource metadata.
- Added support for reachability hints to identify shadowed or conflicting routes.
- Implemented new endpoints for external resources reporting.
- Updated existing route registration to include detailed introspection data.
- Enhanced guard implementations to provide introspection details.

* Refactor route registration to use RouteInfo struct & cargo clippy

* put all the items behind feature gate

* tweak

* fmt

---------

Co-authored-by: Guillermo Céspedes Tabárez <gcespedes@prexcard.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2026-02-11 06:25:39 +00:00
Yuki Okushi 9f679990ed
test(http): wrap timeout test with rt::time::timeout (#3915) 2026-02-11 13:57:29 +09:00
nitn3lav 4f0912d1c7
PathDeserializer: use `deserialize_str` for `deserialize_any` (#2881)
* PathDeserializer: use `deserialize_str` for `deserialize_any`

* fix `deserialize_any` for `seq` and `map`

* add tests for `deserialize_any`

* parse numeric values as well

---------

Co-authored-by: Rob Ede <robjtede@icloud.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2026-02-10 09:53:23 +00:00
Yuki Okushi 5548fadc7d
fix(files): handle `bytes=0-` nicely (#3914) 2026-02-09 21:40:29 +00:00
Filip Gregor 32cb3b8361
feat: ignore unparsable cookies in Cookie header (#3814)
fix: ignore unparsable cookies in Cookie header

Co-authored-by: Rob Ede <robjtede@icloud.com>
2026-02-09 12:53:40 +00:00
dependabot[bot] 747d7c0def
build(deps): bump memchr from 2.7.6 to 2.8.0 (#3913)
Bumps [memchr](https://github.com/BurntSushi/memchr) from 2.7.6 to 2.8.0.
- [Commits](https://github.com/BurntSushi/memchr/compare/2.7.6...2.8.0)

---
updated-dependencies:
- dependency-name: memchr
  dependency-version: 2.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2026-02-09 11:58:49 +00:00
dependabot[bot] b2523fb1cc
build(deps): bump taiki-e/install-action from 2.67.18 to 2.67.25 (#3912)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.67.18 to 2.67.25.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](650c5ca142...f176c07a0a)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.67.25
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-09 19:32:59 +09:00
Yuki Okushi 41e4863748
fix(awc): do not request as chunked if body is empty (#3910) 2026-02-08 16:03:04 +09:00
Anton Lazarev 9856a3b056
Support serving pre-compressed files for static sites (#2615)
* support serving pre-compressed files for static sites

* Update CHANGES.md

* fix behavior change for audio file

* follow-up some inconsistency

* test(files): make encoding test independent of fixture line endings

---------

Co-authored-by: Rob Ede <robjtede@icloud.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2026-02-08 02:15:38 +00:00
Yuki Okushi 80d7d9c01a
chore(awc): address clippy warnings (#3909) 2026-02-08 10:30:19 +09:00
Yuki Okushi bc27fd2724 chore(files): prepare v0.6.10 release 2026-02-06 21:12:50 +09:00
Yuki Okushi 06a354fe52
Merge commit from fork 2026-02-06 21:05:15 +09:00
Yuki Okushi d9b96e635d
Merge commit from fork 2026-02-06 21:04:03 +09:00
dependabot[bot] 2c0be64b68
build(deps): bump time from 0.3.46 to 0.3.47 (#3906)
Bumps [time](https://github.com/time-rs/time) from 0.3.46 to 0.3.47.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.46...v0.3.47)

---
updated-dependencies:
- dependency-name: time
  dependency-version: 0.3.47
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-05 21:09:25 +00:00
Yuki Okushi 6efc4bdfb5
chore(*): update deps (#3904) 2026-02-04 18:59:11 +09:00
dependabot[bot] ef75c402d6
build(deps): bump bytes from 1.11.0 to 1.11.1 (#3903)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.11.0 to 1.11.1.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1)

---
updated-dependencies:
- dependency-name: bytes
  dependency-version: 1.11.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-03 21:09:02 +00:00
ihc童鞋@提不起劲 204a3e1384
fix: set error to Payload before dispatcher disconnect (#3068)
* fix: set error to Payload before dispatcher disconnect

* align behavior

---------

Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2026-02-03 09:03:45 +00:00
Yuki Okushi aecc7ad09c
test(http-test): set ALPN explicitly (#3902) 2026-02-03 18:02:13 +09:00
Andrew Scott 5ee6b59b1e
feat: expose PathBufWrap utility for public access (#3694)
* feat: expose PathBufWrap utility for public access

* fix: rename to `parse_unprocessed_req`

---------

Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2026-02-02 12:15:47 +00:00
dependabot[bot] 9021b82b91
build(deps): bump slab from 0.4.11 to 0.4.12 (#3900)
Bumps [slab](https://github.com/tokio-rs/slab) from 0.4.11 to 0.4.12.
- [Release notes](https://github.com/tokio-rs/slab/releases)
- [Changelog](https://github.com/tokio-rs/slab/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/slab/compare/v0.4.11...v0.4.12)

---
updated-dependencies:
- dependency-name: slab
  dependency-version: 0.4.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 11:30:15 +00:00
dependabot[bot] 85cc60708c
build(deps): bump taiki-e/install-action from 2.67.10 to 2.67.18 (#3899)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.67.10 to 2.67.18.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](81a2f66614...650c5ca142)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.67.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 11:30:00 +00:00
dependabot[bot] dfff651503
build(deps): bump trybuild from 1.0.114 to 1.0.115 (#3901)
Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.114 to 1.0.115.
- [Release notes](https://github.com/dtolnay/trybuild/releases)
- [Commits](https://github.com/dtolnay/trybuild/compare/1.0.114...1.0.115)

---
updated-dependencies:
- dependency-name: trybuild
  dependency-version: 1.0.115
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 11:29:48 +00:00
Yuki Okushi 0eef0601a1
docs(files): refine docs of `read_mode_threshold` (#3897) 2026-02-01 22:10:47 +09:00
Yuki Okushi 69edde9662
feat(web): implement `HttpRequest::url_for_iter`/`url_for_map` (#3895) 2026-02-01 16:54:47 +09:00
Yuki Okushi cf2b097de6
feat(ci): skip semver-labeling if human added it (#3896) 2026-02-01 16:17:59 +09:00
fasilmveloor aa8df45fce
feat: implement FieldGroupReader for Option<Vec<T>> in multipart form… (#3577)
* feat: implement FieldGroupReader for Option<Vec<T>> in multipart form handling

* add tests

---------

Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2026-01-29 13:00:23 +00:00
Yuki Okushi 2737e88973
chore(ci): pin semver-checks action (#3894) 2026-01-29 21:19:25 +09:00
dependabot[bot] e62d849656
build(deps): bump time from 0.3.45 to 0.3.46 (#3893)
* build(deps): bump time from 0.3.45 to 0.3.46

Bumps [time](https://github.com/time-rs/time) from 0.3.45 to 0.3.46.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.45...v0.3.46)

---
updated-dependencies:
- dependency-name: time
  dependency-version: 0.3.46
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(*): bump MSRV to 1.88

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2026-01-28 08:10:27 +00:00
dependabot[bot] 45203e6cc5
build(deps): bump taiki-e/install-action from 2.66.6 to 2.67.10 (#3890)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.66.6 to 2.67.10.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](30eab0fabb...81a2f66614)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.67.10
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-26 21:51:34 +00:00
dependabot[bot] ae77e6bd39
build(deps): bump actions/checkout from 6.0.1 to 6.0.2 (#3888)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](8e8c483db8...de0fac2e45)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-26 09:35:44 +00:00
dependabot[bot] f6c1fe3d0f
build(deps): bump socket2 from 0.6.1 to 0.6.2 (#3892)
Bumps [socket2](https://github.com/rust-lang/socket2) from 0.6.1 to 0.6.2.
- [Release notes](https://github.com/rust-lang/socket2/releases)
- [Changelog](https://github.com/rust-lang/socket2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/socket2/compare/v0.6.1...v0.6.2)

---
updated-dependencies:
- dependency-name: socket2
  dependency-version: 0.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-26 09:35:32 +00:00
dependabot[bot] 3d6e66b5b5
build(deps): bump proc-macro2 from 1.0.105 to 1.0.106 (#3889)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.105 to 1.0.106.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.105...1.0.106)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-version: 1.0.106
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-26 09:35:14 +00:00
dependabot[bot] 3551250e16
build(deps): bump quote from 1.0.43 to 1.0.44 (#3891)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.43 to 1.0.44.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.43...1.0.44)

---
updated-dependencies:
- dependency-name: quote
  dependency-version: 1.0.44
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-26 09:34:51 +00:00
Yuki Okushi 7e7c38f67d fix: fix labeler config 2026-01-25 16:38:33 +09:00
Yuki Okushi bc4a2a920e
chore: setup labeler (#3887) 2026-01-25 11:17:12 +09:00
dependabot[bot] 31000ae423
build(deps): bump time from 0.3.44 to 0.3.45 (#3885)
* build(deps): bump time from 0.3.44 to 0.3.45

Bumps [time](https://github.com/time-rs/time) from 0.3.44 to 0.3.45.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.44...v0.3.45)

---
updated-dependencies:
- dependency-name: time
  dependency-version: 0.3.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(*): update MSRV to 1.83

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com>
2026-01-20 10:18:50 +00:00
dependabot[bot] f1e72806cc
build(deps): bump rustls-pki-types from 1.13.2 to 1.14.0 (#3886)
Bumps [rustls-pki-types](https://github.com/rustls/pki-types) from 1.13.2 to 1.14.0.
- [Release notes](https://github.com/rustls/pki-types/releases)
- [Commits](https://github.com/rustls/pki-types/compare/v/1.13.2...v/1.14.0)

---
updated-dependencies:
- dependency-name: rustls-pki-types
  dependency-version: 1.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-19 08:30:34 +00:00
dependabot[bot] f862e1f873
build(deps): bump flate2 from 1.1.5 to 1.1.8 (#3884)
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.1.5 to 1.1.8.
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.1.5...1.1.8)

---
updated-dependencies:
- dependency-name: flate2
  dependency-version: 1.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-19 08:30:08 +00:00
dependabot[bot] e9f47dd57e
build(deps): bump taiki-e/install-action from 2.66.1 to 2.66.6 (#3883)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.66.1 to 2.66.6.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](3522286d40...30eab0fabb)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.66.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-19 08:29:53 +00:00
dependabot[bot] 4a08371e6d
build(deps): bump quote from 1.0.42 to 1.0.43 (#3880)
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.42 to 1.0.43.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.42...1.0.43)

---
updated-dependencies:
- dependency-name: quote
  dependency-version: 1.0.43
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-12 04:19:30 +00:00
dependabot[bot] a6fb96b802
build(deps): bump serde_json from 1.0.148 to 1.0.149 (#3881)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.148 to 1.0.149.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.148...v1.0.149)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-version: 1.0.149
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-12 03:30:53 +00:00
dependabot[bot] 9fc6f5dbbe
build(deps): bump proc-macro2 from 1.0.104 to 1.0.105 (#3879)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.104 to 1.0.105.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.104...1.0.105)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-version: 1.0.105
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-12 03:17:46 +00:00