#15 @context security vocab: actor JSON now uses actor_ap_context() which includes W3C security vocab + Mastodon toot extensions (manuallyApprovesFollowers, discoverable, featured). Applied to actor_handler, actor_json(), broadcast_actor_update(). Activity JSON keeps plain AS context (no security vocab needed). #17 HTTP Digest (documented, no code change): production mode (debug=false) REQUIRES Digest header on inbound POSTs via require_digest() in the non-compat normalization config. Added doc comment to ApFederationConfig::new() to clarify. #26 Integration tests: 3 new tokio tests in src/tests/integration.rs using in-memory trait stubs. Tests cover: - check_guards idempotency (duplicate activity rejected) - check_guards domain block (blocked domain skipped) - extract_and_dispatch_mentions (on_mention called for local actor)
33 lines
851 B
Rust
33 lines
851 B
Rust
pub mod activities;
|
|
pub mod actor_handler;
|
|
pub mod actors;
|
|
pub mod content;
|
|
pub mod data;
|
|
pub mod error;
|
|
pub mod federation;
|
|
pub mod followers_handler;
|
|
pub mod inbox;
|
|
pub mod nodeinfo;
|
|
pub mod outbox;
|
|
pub mod repository;
|
|
pub mod service;
|
|
pub(crate) mod urls;
|
|
pub mod user;
|
|
pub mod webfinger;
|
|
|
|
pub use urls::AS_PUBLIC;
|
|
pub use activitypub_federation::kinds::object::NoteType;
|
|
pub use content::ApObjectHandler;
|
|
pub use data::{EventPublisher, FederationData, FederationEvent};
|
|
pub use error::Error;
|
|
pub use federation::ApFederationConfig;
|
|
pub use repository::{
|
|
BlockedDomain, FederationRepository, Follower, FollowerStatus, FollowingStatus, RemoteActor,
|
|
};
|
|
pub use service::ActivityPubService;
|
|
pub use user::{ApActorType, ApProfileField, ApUser, ApUserRepository, LookedUpActor};
|
|
|
|
#[cfg(test)]
|
|
#[path = "tests/integration.rs"]
|
|
mod integration_tests;
|