Expand description
HTTP client abstraction.
This crate ships no HTTP implementation. You provide one by implementing
HttpClient. This lets you plug in whatever transport fits your platform:
reqwestfor native and browser-WASMic_cdk::api::management_canister::http_requestfor ICP canisters- A mock client for tests
§Example (ICP)
ⓘ
use irig::http::{HttpClient, HttpRequest, HttpResponse};
pub struct IcpHttpClient;
impl HttpClient for IcpHttpClient {
type Error = String;
async fn post(&self, req: HttpRequest) -> Result<HttpResponse, Self::Error> {
// Build ic_cdk http_request args from `req`, call the management
// canister, then map the response back to HttpResponse.
todo!()
}
}Structs§
- Http
Error - Error wrapping an
HttpClienttransport failure. - Http
Request - A minimal HTTP POST request.
- Http
Response - A minimal HTTP response.
Traits§
- Http
Client - Implement this trait to provide an HTTP backend.