[package]
edition = "2021"
rust-version = "1.92"
name = "link-common"
version = "0.5.2-rc.2"
authors = ["KalamDB Team"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Shared Rust implementation for KalamDB link crates"
readme = "README.md"
keywords = [
"kalamdb",
"database",
"client",
"websocket",
]
categories = [
"database",
"web-programming::websocket",
]
license = "Apache-2.0"
repository = "https://github.com/kalamdb/KalamDB"
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[features]
auth-flows = []
client-core = [
"dep:futures-util",
"dep:log",
"dep:miniz_oxide",
"dep:rmp-serde",
]
cluster = []
consumer = []
default = []
e2e-tests = []
file-uploads = [
"bytes",
"http-body",
"http-body-util",
"reqwest/multipart",
"reqwest/stream",
]
healthcheck = []
http2 = ["reqwest/http2"]
setup = []
tokio-runtime = [
"client-core",
"tokio",
"reqwest",
"tokio-tungstenite",
"bytes",
"dep:aws-lc-rs",
"dep:rustls",
"dep:quinn-proto",
"dep:rustls-webpki",
]
wasm = [
"client-core",
"wasm-bindgen",
"wasm-bindgen-futures",
"js-sys",
"web-sys",
]
[lib]
name = "link_common"
crate-type = ["rlib"]
path = "src/lib.rs"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.11.1"
optional = true
[dependencies.futures-util]
version = "0.3.32"
optional = true
default-features = false
[dependencies.http-body]
version = "1.0.1"
optional = true
[dependencies.http-body-util]
version = "0.1.3"
optional = true
[dependencies.js-sys]
version = "0.3.100"
optional = true
[dependencies.kalamdb-commons]
version = "0.5.2-rc.2"
features = [
"serde",
"websocket-auth",
]
default-features = false
[dependencies.log]
version = "0.4.30"
optional = true
[dependencies.miniz_oxide]
version = "0.9.1"
optional = true
[dependencies.reqwest]
version = "0.13.4"
features = [
"json",
"rustls",
"http2",
"multipart",
"stream",
"form",
"json",
"rustls",
]
optional = true
default-features = false
[dependencies.rmp-serde]
version = "1.3"
optional = true
[dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0.150"
[dependencies.tokio]
version = "1.52.3"
features = [
"rt-multi-thread",
"macros",
"sync",
"time",
"fs",
"io-util",
"io-std",
"net",
"signal",
"parking_lot",
]
optional = true
[dependencies.tokio-tungstenite]
version = "0.29.0"
features = ["rustls-tls-webpki-roots"]
optional = true
[dependencies.wasm-bindgen]
version = "0.2.123"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4.73"
optional = true
[dependencies.web-sys]
version = "0.3.100"
features = [
"console",
"WebSocket",
"BinaryType",
"MessageEvent",
"CloseEvent",
"ErrorEvent",
"Event",
"EventTarget",
"Blob",
"FileReader",
"Window",
"Request",
"RequestInit",
"RequestMode",
"Response",
"Headers",
"FormData",
"BlobPropertyBag",
]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aws-lc-rs]
version = "1.17.0"
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.quinn-proto]
version = "0.11.14"
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustls]
version = "0.23.40"
features = ["aws_lc_rs"]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustls-webpki]
version = "0.103.13"
optional = true
default-features = false