# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.65"
name = "gix-transport"
version = "0.41.2"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
include = [
    "src/**/*",
    "LICENSE-*",
]
description = "A crate of the gitoxide project dedicated to implementing the git transport layer"
license = "MIT OR Apache-2.0"
repository = "https://github.com/Byron/gitoxide"

[package.metadata.docs.rs]
features = [
    "http-client-curl",
    "document-features",
    "serde",
]

[lib]
doctest = false

[[test]]
name = "blocking-transport"
path = "tests/blocking-transport.rs"
required-features = [
    "blocking-client",
    "maybe-async/is_sync",
]

[[test]]
name = "blocking-transport-http-only"
path = "tests/blocking-transport-http.rs"
required-features = [
    "http-client-curl",
    "maybe-async/is_sync",
]

[[test]]
name = "async-transport"
path = "tests/async-transport.rs"
required-features = ["async-client"]

[dependencies.async-std]
version = "1.12.0"
optional = true

[dependencies.async-trait]
version = "0.1.51"
optional = true

[dependencies.base64]
version = "0.21.0"
optional = true

[dependencies.bstr]
version = "1.3.0"
features = [
    "std",
    "unicode",
]
default-features = false

[dependencies.curl]
version = "0.4"
optional = true

[dependencies.document-features]
version = "0.2.0"
optional = true

[dependencies.futures-io]
version = "0.3.16"
optional = true

[dependencies.futures-lite]
version = "2.1.0"
features = ["std"]
optional = true
default-features = false

[dependencies.gix-command]
version = "^0.3.6"

[dependencies.gix-credentials]
version = "^0.24.2"
optional = true

[dependencies.gix-features]
version = "^0.38.1"

[dependencies.gix-packetline]
version = "^0.17.4"

[dependencies.gix-quote]
version = "^0.4.12"

[dependencies.gix-sec]
version = "^0.10.6"

[dependencies.gix-url]
version = "^0.27.2"

[dependencies.pin-project-lite]
version = "0.2.6"
optional = true

[dependencies.reqwest]
version = "0.11.12"
features = ["blocking"]
optional = true
default-features = false

[dependencies.serde]
version = "1.0.114"
features = [
    "std",
    "derive",
]
optional = true
default-features = false

[dependencies.thiserror]
version = "1.0.26"

[dev-dependencies.async-std]
version = "1.9.0"
features = ["attributes"]

[dev-dependencies.blocking]
version = "1.0.2"

[dev-dependencies.maybe-async]
version = "0.2.6"

[features]
async-client = [
    "gix-packetline/async-io",
    "async-trait",
    "futures-lite",
    "futures-io",
    "pin-project-lite",
]
blocking-client = ["gix-packetline/blocking-io"]
default = []
http-client = [
    "base64",
    "gix-features/io-pipe",
    "blocking-client",
    "gix-credentials",
]
http-client-curl = [
    "curl",
    "http-client",
]
http-client-reqwest = [
    "reqwest",
    "http-client",
]
serde = ["dep:serde"]
