[package] name = "activitypub_federation" version = "0.5.0-beta.4" edition = "2021" description = "High-level Activitypub framework" keywords = ["activitypub", "activitystreams", "federation", "fediverse"] license = "AGPL-3.0" repository = "https://github.com/LemmyNet/activitypub-federation-rust" documentation = "https://docs.rs/activitypub_federation/" [dependencies] chrono = { version = "0.4.31", features = ["clock"], default-features = false } serde = { version = "1.0.189", features = ["derive"] } async-trait = "0.1.74" url = { version = "2.4.1", features = ["serde"] } serde_json = { version = "1.0.107", features = ["preserve_order"] } anyhow = "1.0.75" reqwest = { version = "0.11.22", features = ["json", "stream"] } reqwest-middleware = "0.2.3" tracing = "0.1.40" base64 = "0.21.5" openssl = "0.10.57" once_cell = "1.18.0" http = "0.2.9" sha2 = "0.10.8" thiserror = "1.0.50" derive_builder = "0.12.0" itertools = "0.10.5" dyn-clone = "1.0.14" enum_delegate = "0.2.0" httpdate = "1.0.3" http-signature-normalization-reqwest = { version = "0.8.0", default-features = false, features = [ "sha-2", "middleware", ] } http-signature-normalization = "0.7.0" bytes = "1.5.0" futures-core = { version = "0.3.28", default-features = false } pin-project-lite = "0.2.13" activitystreams-kinds = "0.3.0" regex = { version = "1.10.2", default-features = false, features = ["std", "unicode-case"] } tokio = { version = "1.33.0", features = [ "sync", "rt", "rt-multi-thread", "time", ] } # Actix-web actix-web = { version = "4.4.0", default-features = false, optional = true } # Axum axum = { version = "0.6.20", features = [ "json", "headers", ], default-features = false, optional = true } tower = { version = "0.4.13", optional = true } hyper = { version = "0.14", optional = true } futures = "0.3.28" moka = { version = "0.11.3", features = ["future"] } [features] default = ["actix-web", "axum"] actix-web = ["dep:actix-web"] axum = ["dep:axum", "dep:tower", "dep:hyper"] [dev-dependencies] rand = "0.8.5" env_logger = "0.10.0" tower-http = { version = "0.4.4", features = ["map-request-body", "util"] } axum = { version = "0.6.20", features = [ "http1", "tokio", "query", ], default-features = false } axum-macros = "0.3.8" tokio = { version = "1.33.0", features = ["full"] } [profile.dev] strip = "symbols" debug = 0 [[example]] name = "local_federation" path = "examples/local_federation/main.rs" [[example]] name = "live_federation" path = "examples/live_federation/main.rs"