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 forlibcurl
.Affects
http::curl
,http::Impl
,http::connect
,http::redirect
… - http-client-curl-rust-tls = http-client-curl
-
Implies
http-client-curl
and enablesrustls
for creatinghttps://
connections.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 ofreqwest
.Affects
http::reqwest
,http::Impl
,http::connect
,http::redirect
… - http-client-reqwest-rust-tls = http-client-reqwest
-
Stacks with
blocking-http-transport-reqwest
and enableshttps://
via therustls
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 enableshttps://
via therustls
crate. This also makes use oftrust-dns
to avoidgetaddrinfo
, 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 enableshttps://
via thenative-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 basedgit
transport leaving you with the responsibility to providing such an implementation offutures-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
andserde::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
, theconnect()
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