A better Rust ATProto crate
1[package]
2name = "jacquard-axum"
3edition.workspace = true
4version = "0.12.1"
5authors.workspace = true
6repository.workspace = true
7keywords.workspace = true
8categories.workspace = true
9readme.workspace = true
10exclude.workspace = true
11homepage.workspace = true
12license.workspace = true
13description = "Axum server helpers for Jacquard"
14
15[lib]
16path = "src/lib.rs"
17
18[[example]]
19name = "axum_server"
20path = "../../examples/axum_server.rs"
21
22[[example]]
23name = "axum_oauth_session"
24path = "../../examples/axum_oauth_session.rs"
25
26[dependencies]
27axum = "0.8.6"
28axum-extra = { version = "0.10.3", features = ["cookie", "cookie-private"] }
29base64.workspace = true
30bytes.workspace = true
31chrono.workspace = true
32jacquard = { version = "0.12.1", path = "../jacquard", default-features = false, features = ["api"] }
33jacquard-common = { version = "0.12.1", path = "../jacquard-common", features = ["reqwest-client"] }
34jacquard-derive = { version = "0.12.1", path = "../jacquard-derive" }
35jacquard-identity = { version = "0.12.1", path = "../jacquard-identity", optional = true }
36miette.workspace = true
37multibase = { version = "0.9.1", optional = true }
38mini-moka = { package = "mini-moka-wasm", version = "0.10", path = "../mini-moka-wasm", optional = true }
39serde.workspace = true
40serde_html_form.workspace = true
41serde_json.workspace = true
42thiserror.workspace = true
43tokio.workspace = true
44tower-http = { version = "0.6.6", features = ["trace", "tracing"] }
45tracing = "0.1.41"
46
47[features]
48default = ["service-auth", "service-auth-replay"]
49service-auth = ["jacquard-common/service-auth", "dep:jacquard-identity", "dep:multibase"]
50service-auth-replay = ["service-auth", "dep:mini-moka"]
51tracing = []
52
53[dev-dependencies]
54axum-macros = "0.5.0"
55jacquard = { version = "0.12.0-beta.1", path = "../jacquard", default-features = false, features = ["api_bluesky"] }
56axum-test = "18.1.0"
57clap.workspace = true
58chrono.workspace = true
59html-escape = "0.2"
60k256 = { version = "0.13", features = ["ecdsa"] }
61miette = { workspace = true, features = ["fancy"] }
62rand = "0.8"
63reqwest.workspace = true
64serde_json.workspace = true
65#tokio-test = "0.4.4"
66tower = { version = "0.5", features = ["util"] }
67tracing-subscriber = { version = "0.3.20", features = ["env-filter", "time"] }