Cargo Features

gix-transport has no features set by default.

[dependencies]
gix-transport = { version = "0.43.0", features = ["blocking-client", "http-client", "http-client-curl", "http-client-curl-rust-tls", "http-client-reqwest", "http-client-reqwest-rust-tls", "http-client-reqwest-rust-tls-trust-dns", "http-client-reqwest-native-tls", "async-client", "serde", "async-std", "document-features"] }
blocking-client http-client?

Mutually Exclusive Client

The client portion of transport can be blocking or async. If none is selected, it will be missing entirely. Specifying both causes a compile error, preventing the use of --all-features.

If set, blocking implementations of the typical git transports become available in crate::client

Enables blocking-io of gix-packetline

Affects capabilities::recv, client::git, traits::TransportWithoutIO.request

http-client http-client-curl? http-client-reqwest? = base64, blocking-client, gix-credentials

Implies blocking-client, and adds support for the http and https transports.

Enables io-pipe of gix-features

Affects http::connect_http, blocking_io::http

http-client-curl http-client-curl-rust-tls? = curl, http-client

Implies http-client, and adds support for the http and https transports using the Rust bindings for libcurl.

Affects http::curl, http::Impl, http::connect, http::redirect

http-client-curl-rust-tls = http-client-curl

Implies http-client-curl and enables rustls for creating https:// connections.

Enables rustls of curl

for http-client-curl. Additional configuration should be performed on higher levels of the dependency tree.

http-client-reqwest http-client-reqwest-native-tls? http-client-reqwest-rust-tls? http-client-reqwest…tls-trust-dns? = http-client, reqwest

Implies http-client and adds support for http and https transports using the blocking version of reqwest.

Affects http::reqwest, http::Impl, http::connect, http::redirect

http-client-reqwest-rust-tls = http-client-reqwest

Stacks with blocking-http-transport-reqwest and enables https:// via the rustls crate.

Enables rustls-tls of reqwest

for http-client-reqwest
all but the 'default-tls' feature

http-client-reqwest-rust-tls-trust-dns = http-client-reqwest

Stacks with blocking-http-transport-reqwest and enables https:// via the rustls crate. This also makes use of trust-dns to avoid getaddrinfo, but note it comes with its own problems.

Enables rustls-tls and trust-dns of reqwest

http-client-reqwest-native-tls = http-client-reqwest

Stacks with blocking-http-transport-reqwest and enables https:// via the native-tls crate.

Enables default-tls of reqwest

async-client = async-trait, futures-io, futures-lite, pin-project-lite

If set, an async implementations of the git transports becomes available in crate::client. Suitable for implementing your own transports while using git's way of communication, typically in conjunction with a custom server. Note that the blocking client has a wide range of available transports, with the async version of it supporting only the TCP based git transport leaving you with the responsibility to providing such an implementation of futures-io::AsyncRead/AsyncWrite yourself.

Enables async-io of gix-packetline

Affects capabilities::recv, client::git, traits::TransportWithoutIO.request

serde

Other

Data structures implement serde::Serialize and serde::Deserialize.

Enables serde

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.

gix-credentials http-client?
async-trait async-client?

Enables async-trait

for async-client

futures-io async-client?
futures-lite async-client?
pin-project-lite async-client?
base64 http-client?

Enables base64

for http-client

curl http-client-curl? http-client-curl-rust-tls?
reqwest http-client-reqwest? http-client-reqwest-native-tls? http-client-reqwest-rust-tls? http-client-reqwest…tls-trust-dns?
async-std implicit feature

Enables async-std

If used in conjunction with async-client, the connect() method will become available along with supporting the git protocol over TCP, where the TCP stream is created using this crate.

document-features implicit feature

Enables document-features

document-features:

Extract documentation for the feature flags from comments in Cargo.toml