[package]
name = "dioxus-fullstack"
authors = ["Jonathan Kelley", "Evan Almloff"]
version = { workspace = true }
edition = "2021"
description = "Library for fetching resources from servers in Dioxus apps."
license = "MIT OR Apache-2.0"
repository = "https://github.com/DioxusLabs/dioxus/"
homepage = "https://dioxuslabs.com"
keywords = ["web", "gui", "server"]
resolver = "2"
[dependencies]
futures-channel = { workspace = true }
serde = { workspace = true, features = ["derive"] }
ciborium = { workspace = true }
base64 = { workspace = true }
tracing = { workspace = true }
thiserror = { workspace = true }
dioxus-fullstack-core = { workspace = true }
http = { workspace = true }
anyhow = { workspace = true }
dioxus-core = { workspace = true }
dioxus-signals = { workspace = true }
dioxus-hooks = { workspace = true }
dioxus-html = { workspace = true }
dioxus-cli-config = { workspace = true }
futures = { workspace = true, default-features = true }
bytes = { workspace = true, features = ["serde"] }
dioxus-fullstack-macro = { workspace = true }
http-body-util = "0.1.3"
futures-util = { workspace = true }
axum-core = { workspace = true }
send_wrapper = { features = ["futures"], workspace = true, default-features = true }
serde_json = { workspace = true }
pin-project = { workspace = true }
serde_qs = { workspace = true, default-features = true}
mime = "0.3.17"
reqwest = { workspace = true, features = ["json", "rustls-tls", "cookies", "stream", "multipart"] }
url = { workspace = true }
serde_urlencoded = { workspace = true }
form_urlencoded = { workspace = true }
axum = { workspace = true, default-features = false, features = ["json", "form", "query", "multipart", "query"] }
http-body = { workspace = true }
headers = "0.4.1"
dioxus-asset-resolver = { workspace = true, features = ["native"] }
const_format = { workspace = true, default-features = true }
const-str = { workspace = true, default-features = true }
rustversion = { workspace = true, default-features = true }
xxhash-rust = { features = ["const_xxh64"], workspace = true, default-features = true }
derive_more = { version = "2.0.1", features = ["deref", "deref_mut", "display", "from"] }
axum-extra = { workspace = true, optional = true, features = ["typed-header"] }
inventory = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
tokio-tungstenite = { workspace = true, optional = true }
tokio-stream = { workspace = true, features = ["sync"], optional = true }
tower = { workspace = true, features = ["util"], optional = true }
tower-http = { workspace = true, features = ["fs", "limit"], optional = true }
tower-layer = { version = "0.3.3", optional = true }
postcard = { features = ["alloc", "use-std"], optional = true, workspace = true, default-features = true }
rmp-serde = { version = "1.3", optional = true }
async-stream = "0.3.6"
web-sys = { version = "0.3", features = ["WebSocket", "CloseEvent", "ErrorEvent", "Event", "MessageEvent", "BinaryType", "FormData", "Response", "ReadableStream", "AbortController", "File", "ReadableStream", "HtmlFormElement", "FormData"], optional = true }
gloo-net = "0.6.0"
js-sys = { workspace = true }
wasm-bindgen = { workspace = true }
wasm-bindgen-futures = { workspace = true }
wasm-streams = "0.4.2"
content_disposition = "0.4.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
async-tungstenite = { version = "0.31.0", default-features = false, features = ["futures-03-sink"], optional = true }
tungstenite = { version = "0.27", default-features = false, features = ["handshake"], optional = true }
tokio-util = { workspace = true, features = ["codec", "compat"] }
[features]
default = ["ws"]
web = [
"dep:web-sys"
]
native = []
server = [
"dep:inventory",
"dep:tokio",
"dep:tokio-tungstenite",
"dep:tokio-stream",
"dep:async-tungstenite",
"dep:tungstenite",
"dep:tower",
"dep:tower-http",
"dep:tower-layer",
"dep:axum-extra",
"axum/ws",
"axum/tokio",
]
postcard = ["dep:postcard"]
msgpack = ["dep:rmp-serde"]
ws = ["dep:async-tungstenite", "dep:tungstenite"]
[package.metadata.docs.rs]
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]