* Use OriginalUri for axum ActivityData
When the inbox path is under a nested `Router`, the received request has a URI
with the common prefix stripped. This causes incoming signatures to be considered
invalid since the path is different (see https://github.com/LemmyNet/activitypub-federation-rust/issues/107#issuecomment-2767428107)
This commit uses `OriginalUri` for URI extraction instead, which will retrieve
the full URI regardless of router nesting
* Use router nesting for local_federation
With 8c787f5, router nesting is supported correctly in axum
* Fix docs typo (#143)
---------
Co-authored-by: Zami <szgie@proton.me>
Co-authored-by: Felix Ableitner <me@nutomic.com>
* Fix formatting for nightly rustfmt
https://github.com/LemmyNet/lemmy/issues/3467
* Fix regex error when actix-web feature not enabled
If the crate is built with only the axum feature, compiling the
webfinger account regex will fail with an error "Unicode-aware case
insensitivity matching is not available..." because of the missing
unicode-case feature. This doesn't happen if actix is installed because
it pulls in the regex crate with all features (via [actix-router][0]).
The failure can be demonstrated by reverting this commit's change to
Cargo.toml and running:
cargo test --no-default-features --features=axum --doc extract_webfinger_name
Resolve this by adding the unicode-case feature to the regex dependency.
[0]: 0e8ed50e3a/actix-router/Cargo.toml (L25)
* Remove `actix-rt` and replace with tokio tasks
* Include activity queue test
* Use older `Arc` method
* Refactor to not re-process PEM data on each request
* Add retry queue and spawn tokio tasks directly
* Fix doc error
* Remove semaphore and use join set for backpressure
* Fix debug issue with multiple mailboxes