Cargo Features

[dependencies]
mio_surf = { version = "2.1.0", default-features = false, features = ["curl-client", "h1-client", "hyper-client", "native-client", "wasm-client", "default-client", "middleware-logger", "encoding"] }
default = curl-client, encoding, middleware-logger

when the default feature set is updated, verify that the --features flags in .github/workflows/ci.yaml are updated accordingly

curl-client default = default-client, once_cell

Enables curl_client of http-client

h1-client = default-client

Enables h1_client of http-client

hyper-client = default-client, once_cell

Enables tokio02 of async-std, hyper_client of http-client

native-client = default-client

Enables native_client of http-client

wasm-client = default-client

Enables wasm_client of http-client

default-client curl-client h1-client? hyper-client? native-client? wasm-client?
middleware-logger default
encoding default = encoding_rs, web-sys

requires web-sys for TextDecoder on wasm

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality [may be removed in the future](https://rust-lang.github.io/rfcs/3491-remove-implicit-features.html).

once_cell curl-client hyper-client?
encoding_rs not wasm32 encoding
web-sys wasm32 encoding