[package] name = "activitypub_federation" version = "0.3.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.23", features = ["clock"], default-features = false } serde = { version = "1.0.147", features = ["derive"] } async-trait = "0.1.58" url = { version = "2.3.1", features = ["serde"] } serde_json = { version = "1.0.87", features = ["preserve_order"] } anyhow = "1.0.66" reqwest = { version = "0.11.12", features = ["json", "stream"] } reqwest-middleware = "0.2.0" tracing = "0.1.37" base64 = "0.13.1" openssl = "0.10.42" once_cell = "1.16.0" http = "0.2.8" sha2 = "0.10.6" background-jobs = "0.13.0" thiserror = "1.0.37" derive_builder = "0.12.0" itertools = "0.10.5" dyn-clone = "1.0.9" enum_delegate = "0.2.0" httpdate = "1.0.2" http-signature-normalization-reqwest = { version = "0.7.1", default-features = false, features = ["sha-2", "middleware"] } http-signature-normalization = "0.6.0" actix-rt = "2.7.0" bytes = "1.3.0" futures-core = { version = "0.3.25", default-features = false } pin-project-lite = "0.2.9" activitystreams-kinds = "0.2.1" # Actix-web actix-web = { version = "4.2.1", default-features = false, optional = true } # Axum axum = { version = "0.6.0", features = ["json", "headers", "macros", "original-uri"], optional = true } tower = { version = "0.4.13", optional = true } hyper = { version = "0.14", optional = true } [features] default = [] actix-web = ["dep:actix-web"] axum = ["dep:axum", "dep:tower", "dep:hyper"] [dev-dependencies] rand = "0.8.5" env_logger = "0.9.3" tower-http = { version = "0.3", features = ["map-request-body", "util"] } axum-macros = "0.3.4" [profile.dev] strip = "symbols" debug = 0 [[example]] name = "local_federation" path = "examples/local_federation/main.rs"