Crate awc[−][src]
Expand description
awc
is a HTTP and WebSocket client library built on the Actix ecosystem.
Making a GET request
let mut client = awc::Client::default();
let response = client.get("http://www.rust-lang.org") // <- Create request builder
.header("User-Agent", "Actix-web")
.send() // <- Send http request
.await?;
println!("Response: {:?}", response);
Making POST requests
Raw body contents
let mut client = awc::Client::default();
let response = client.post("http://httpbin.org/post")
.send_body("Raw body contents")
.await?;
Forms
let params = [("foo", "bar"), ("baz", "quux")];
let mut client = awc::Client::default();
let response = client.post("http://httpbin.org/post")
.send_form(¶ms)
.await?;
JSON
let request = serde_json::json!({
"lang": "rust",
"body": "json"
});
let mut client = awc::Client::default();
let response = client.post("http://httpbin.org/post")
.send_json(&request)
.await?;
WebSocket support
use futures_util::{sink::SinkExt, stream::StreamExt};
let (_resp, mut connection) = awc::Client::new()
.ws("ws://echo.websocket.org")
.connect()
.await?;
connection
.send(awc::ws::Message::Text("Echo".to_string()))
.await?;
let response = connection.next().await.unwrap()?;
Re-exports
pub use actix_http::cookie;
Modules
Http client errors
Various HTTP related types
Test helpers for actix http client to use during testing.
Websockets client
Structs
An asynchronous HTTP and WebSocket client.
An HTTP Client builder
An HTTP Client request builder
Client Response
Manages http client network connectivity
The Connector
type uses a builder-like combinator pattern for service
construction that finishes by calling the .finish()
method.
FrozenClientRequest
struct represents clonable client request.
It could be used to send same request multiple times.
Builder that allows to modify extra headers.
Response’s payload json parser, it resolves to a deserialized T
value.
Future that resolves to a complete http message body.
Enums
Future that sends request’s payload and resolves to a server response.