[package]
edition = "2021"
rust-version = "1.88"
name = "server_fn"
version = "0.8.10"
authors = [
"Greg Johnston",
"Ben Wishovich",
]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "RPC for any web framework."
readme = "README.md"
license = "MIT"
repository = "https://github.com/leptos-rs/leptos"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]
[package.metadata.cargo-all-features]
denylist = [
"rustls",
"default-tls",
"form-redirects",
"gloo-net",
"js-sys",
"wasm-bindgen",
"web-sys",
"tower",
"tower-layer",
"send_wrapper",
"ciborium",
"hyper",
"inventory",
"rkyv",
]
skip_feature_sets = [
[
"actix",
"axum",
],
[
"actix",
"generic",
],
[
"browser",
"actix",
],
[
"browser",
"axum",
],
[
"browser",
"reqwest",
],
[
"browser",
"generic",
],
[
"default-tls",
"rustls",
],
[
"browser",
"ssr",
],
[
"axum-no-default",
"actix",
],
[
"axum-no-default",
"browser",
],
[
"axum-no-default",
"generic",
],
[
"rkyv",
"json",
],
[
"rkyv",
"cbor",
],
[
"rkyv",
"url",
],
[
"rkyv",
"serde-lite",
],
[
"url",
"json",
],
[
"url",
"cbor",
],
[
"url",
"serde-lite",
],
[
"postcard",
"json",
],
[
"postcard",
"cbor",
],
[
"postcard",
"url",
],
[
"postcard",
"serde-lite",
],
[
"postcard",
"rkyv",
],
]
max_combination_size = 2
[features]
actix = [
"actix-web/default",
"actix-no-default",
]
actix-no-default = [
"ssr",
"dep:actix-web",
"dep:actix-ws",
"dep:send_wrapper",
]
axum = [
"axum/default",
"axum-no-default",
"axum/ws",
"dep:tokio",
]
axum-no-default = [
"ssr",
"generic",
"dep:axum",
"dep:hyper",
"dep:http-body-util",
"dep:tower",
"dep:tower-layer",
]
bitcode = ["dep:bitcode"]
browser = [
"dep:gloo-net",
"dep:js-sys",
"dep:send_wrapper",
"dep:wasm-bindgen",
"dep:web-sys",
"dep:wasm-streams",
"dep:wasm-bindgen-futures",
]
cbor = ["dep:ciborium"]
default-tls = ["reqwest?/default-tls"]
form-redirects = []
generic = []
msgpack = ["dep:rmp-serde"]
multipart = [
"browser",
"dep:multer",
]
postcard = ["dep:postcard"]
reqwest = [
"dep:reqwest",
"dep:tokio-tungstenite",
"dep:tokio",
]
rkyv = ["dep:rkyv"]
rustls = [
"reqwest?/rustls",
"tokio-tungstenite?/rustls",
]
serde-lite = ["dep:serde-lite"]
ssr = ["inventory"]
[lib]
name = "server_fn"
path = "src/lib.rs"
[[test]]
name = "server_macro"
path = "tests/server_macro.rs"
[dependencies.actix-web]
version = "4.12"
features = ["ws"]
optional = true
default-features = false
[dependencies.actix-ws]
version = "0.3"
optional = true
default-features = true
[dependencies.axum]
version = "0.8"
features = ["multipart"]
optional = true
default-features = false
[dependencies.base64]
version = "0.22"
default-features = true
[dependencies.bitcode]
version = "0.6"
optional = true
default-features = true
[dependencies.bytes]
version = "1.11"
default-features = true
[dependencies.ciborium]
version = "0.2"
optional = true
default-features = true
[dependencies.const-str]
version = "1.1"
default-features = true
[dependencies.const_format]
version = "0.2"
default-features = true
[dependencies.futures]
version = "0.3"
default-features = true
[dependencies.gloo-net]
version = "0.6"
optional = true
default-features = true
[dependencies.http]
version = "1.4"
default-features = true
[dependencies.http-body-util]
version = "0.1"
optional = true
default-features = true
[dependencies.hyper]
version = "1.8"
optional = true
default-features = true
[dependencies.inventory]
version = "0.3"
optional = true
default-features = true
[dependencies.js-sys]
version = "0.3"
optional = true
default-features = true
[dependencies.multer]
version = "3.1"
optional = true
default-features = true
[dependencies.or_poisoned]
version = "0.1.0"
[dependencies.pin-project-lite]
version = "0.2"
default-features = true
[dependencies.postcard]
version = "1.1"
features = ["alloc"]
optional = true
default-features = true
[dependencies.reqwest]
version = "0.13"
features = [
"multipart",
"stream",
]
optional = true
default-features = false
[dependencies.rkyv]
version = "0.8"
optional = true
default-features = true
[dependencies.rmp-serde]
version = "1.3"
optional = true
default-features = true
[dependencies.rustversion]
version = "1.0"
default-features = true
[dependencies.send_wrapper]
version = "0.6"
features = ["futures"]
optional = true
default-features = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
default-features = true
[dependencies.serde-lite]
version = "0.5"
features = ["derive"]
optional = true
default-features = true
[dependencies.serde_json]
version = "1.0"
default-features = true
[dependencies.serde_qs]
version = "0.15"
default-features = true
[dependencies.server_fn_macro_default]
version = "0.8.5"
[dependencies.thiserror]
version = "2.0"
default-features = true
[dependencies.throw_error]
version = "0.3.1"
[dependencies.tokio]
version = "1.49"
features = ["rt"]
optional = true
default-features = true
[dependencies.tokio-tungstenite]
version = "0.28"
optional = true
default-features = true
[dependencies.tower]
version = "0.5"
optional = true
default-features = true
[dependencies.tower-layer]
version = "0.3"
optional = true
default-features = true
[dependencies.url]
version = "2.5"
default-features = true
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
default-features = true
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
default-features = true
[dependencies.wasm-streams]
version = "0.5"
optional = true
default-features = true
[dependencies.web-sys]
version = "0.3"
features = [
"console",
"ReadableStream",
"ReadableStreamDefaultReader",
"AbortController",
"AbortSignal",
]
optional = true
default-features = true
[dependencies.xxhash-rust]
version = "0.8"
features = ["const_xxh64"]
default-features = true
[dev-dependencies.trybuild]
version = "1.0"
default-features = true
[build-dependencies.rustc_version]
version = "0.4"
default-features = true
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(leptos_debuginfo)",
"cfg(rustc_nightly)",
]