[package]
edition = "2024"
name = "feignhttp"
version = "0.6.1"
authors = ["dxx <dx1898@foxmail.com>"]
build = false
exclude = [
"docs/**",
"examples/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Declarative HTTP client for rust"
homepage = "https://github.com/dxx/feignhttp"
documentation = "https://docs.rs/feignhttp"
readme = "README.md"
keywords = [
"http",
"request",
"client",
]
categories = ["web-programming::http-client"]
license = "MIT"
repository = "https://github.com/dxx/feignhttp"
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[features]
default = ["reqwest-client"]
isahc-client = ["dep:isahc"]
isahc-json = [
"isahc-client",
"json",
"isahc/json",
]
isahc-multipart = [
"isahc-client",
"multipart",
]
json = ["dep:serde_json"]
log = ["dep:log"]
multipart = ["dep:mime_guess"]
reqwest-client = ["dep:reqwest"]
reqwest-json = [
"reqwest-client",
"json",
"reqwest/json",
]
reqwest-middleware-client = [
"dep:reqwest-middleware",
"dep:reqwest",
]
reqwest-middleware-json = [
"reqwest-middleware-client",
"json",
"reqwest-middleware/json",
]
reqwest-middleware-multipart = [
"reqwest-middleware-client",
"multipart",
]
reqwest-multipart = [
"reqwest-client",
"multipart",
]
[lib]
name = "feignhttp"
path = "src/lib.rs"
[[test]]
name = "test_client_config"
path = "tests/test_client_config.rs"
[[test]]
name = "test_client_custom"
path = "tests/test_client_custom.rs"
[[test]]
name = "test_client_multipart"
path = "tests/test_client_multipart.rs"
[[test]]
name = "test_client_request"
path = "tests/test_client_request.rs"
[[test]]
name = "test_client_response"
path = "tests/test_client_response.rs"
[[test]]
name = "test_feign_config"
path = "tests/test_feign_config.rs"
[[test]]
name = "test_feign_custom"
path = "tests/test_feign_custom.rs"
[[test]]
name = "test_feign_fn"
path = "tests/test_feign_fn.rs"
[[test]]
name = "test_feign_multipart"
path = "tests/test_feign_multipart.rs"
[[test]]
name = "test_feign_request"
path = "tests/test_feign_request.rs"
[[test]]
name = "test_feign_response"
path = "tests/test_feign_response.rs"
[[test]]
name = "test_feign_struct"
path = "tests/test_feign_struct.rs"
[[test]]
name = "test_feign_trait"
path = "tests/test_feign_trait.rs"
[[test]]
name = "test_replace"
path = "tests/test_replace.rs"
[[test]]
name = "test_ser"
path = "tests/test_ser.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.feignhttp-codegen]
version = "0.6"
[dependencies.http]
version = "1.1"
[dependencies.isahc]
version = "2.0"
features = [
"default-tls",
"http2",
"static-curl",
"text-decoding",
]
optional = true
default-features = false
[dependencies.log]
version = "0.4"
optional = true
[dependencies.mime_guess]
version = "2.0"
optional = true
[dependencies.once_cell]
version = "1.21.1"
[dependencies.reqwest]
version = "0.13"
optional = true
[dependencies.reqwest-middleware]
version = "0.5"
optional = true
[dependencies.serde]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.serde_urlencoded]
version = "0.7"
[dependencies.url]
version = "2.2"
[dev-dependencies.env_logger]
version = "0.11.10"
[dev-dependencies.mockito]
version = "1.7.2"
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.tokio]
version = "1"
features = ["full"]