[−][src]Module yukikaze::client
Client module
Entry point to HTTP client side.
API highlights
- Client - Wraps
hyper::Client
and provides various async methods to send requests - Request - Entry point to creating requests.
- Response - Result of successful requests. Provides various async methods to read body.
Usage
Simple
use yukikaze::{matsu, client}; async fn example() { let client = client::Client::default(); let req = client::Request::get("https://google.com").expect("To create request").empty(); let mut result = matsu!(client.send(req)).expect("Not timedout").expect("Successful"); assert!(result.is_success()); let html = matsu!(result.text()).expect("To read HTML"); println!("Google page:\n{}", html); }
Custom configuration
use yukikaze::{matsu, client}; use core::time; pub struct TimeoutCfg; impl client::config::Config for TimeoutCfg { type Connector = client::config::DefaultConnector; type Timer = client::config::DefaultTimer; fn timeout() -> time::Duration { //never times out time::Duration::from_secs(0) } } async fn example() { let client = client::Client::<TimeoutCfg>::new(); let req = client::Request::get("https://google.com").expect("To create request").empty(); let result = matsu!(client.send(req)).expect("Not timedout").expect("Successful"); assert!(result.is_success()); }
Re-exports
pub use request::Request; |
pub use response::Response; |
Modules
config | Describes client configuration |
request | Client request |
response | Response module. |
Structs
Client | HTTP Client |
Type Definitions
RequestResult | Alias to result of sending request. |