Crate simplist [] [src]

simplist: plain and simple http.

a plain and simple http library for when you just want to make a darn request!

this crate is a super thin and lightweight wrapper on top of hyper, and provides apis for futures-based async, traditional sync and async-await models.

HttpClient is the primary interface for making http requests.

features.

  • nightly: when turned on, simplist will perform about one allocation per request by using impl Future, which is currently an experimental feature. when compiling for the stable compiler, simplist needs to box some future types because they cannot be named.
  • scramble: when turned on, simplist will compile out most error messages, replacing them with an empty string.

if you're using a nightly compiler, turn on the nightly feature in your cargo.toml!

simplist = { version = "0.0.5", features = ["nightly"] }

examples.

asynchronous, with await notation.

use simplist::HttpClient;

let http = HttpClient::new(handle);
let html = await http.get_string("https://hinaria.com")?;

println!("{:?}", html);
// => "<!doctype html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"utf-8\"> ..."

asynchronous, with future callbacks.

use simplist::HttpClient;

let http   = HttpClient::new(handle);
let future = http.get_string("https://hinaria.com").and_then(|html| {
    println!("{:?}", html);
    Ok(())
}).map_err(|_| ());

handle.spawn(future);
// => "<!doctype html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"utf-8\"> ..."

synchronous.

use simplist::HttpSyncClient;

let http = HttpSyncClient::new(handle);
let html = http.get_string("https://hinaria.com")?;

println!("{:?}", html);
// => "<!doctype html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"utf-8\"> ..."

Structs

HttpClient

an asynchronous, futures-based http client.

HttpContent

the optional body of a http request.

HttpRequest

a http request.

HttpResponse

a http response, whose body can be read asynchronously.

HttpSyncClient

a synchronous, blocking http client.

HttpSyncResponse

a http response, whose body can be read synchronously.

Url

simple access to a url and its components.

Enums

HttpError

the error type for all errors in crate simplist.

HttpMethod

an enum for representing and comparing http methods.

Traits

IntoUrl

freely convertible to a Url.