FeignHTTP
FeignHTTP is a declarative HTTP client. Based on rust macros.
Features
- Easy to use
- Asynchronous request
- Configurable timeout settings
- Supports form, plain text and JSON
- Selectable HTTP backends (reqwest or isahc)
Usage
FeignHTTP mark macros on asynchronous functions, you need a runtime for support async/await. You can use async-std or tokio.
async-std:
[]
= { = "1", = ["attributes", "tokio1"] }
The feature tokio1
is need when use reqwest as the HTTP backend.
tokio:
[]
= { = "1", = ["full"] }
Add feignhttp
in your Cargo.toml
and use default feature:
= { = "0.5" }
Then add the following code:
use get;
async
async
The get
attribute macro specifies get request, feignhttp::Result<String>
specifies the return result.
It will send get request to https://api.github.com
and receive a plain text body.
Using non-default HTTP backend:
= { = "0.5", = false, = ["isahc-client"] }
The default-features = false
option disable default reqwest.
For more examples, click here.
Documentation
Read the documentation for more details.
License
FeignHTTP is provided under the MIT license. See LICENSE.