[][src]Crate attohttpc

This project's goal is to provide a lightweight and simple HTTP client for the Rust ecosystem. The intended use is for projects that have HTTP needs where performance is not critical or when HTTP is not the main purpose of the application. Note that the project still tries to perform well and avoid allocation where possible, but stays away from Rust's asynchronous stack to provide a crate that's as small as possible. Features are provided behind feature flags when possible to allow users to get just what they need.

Quick usage

This example is not tested
let obj = json!({
    "hello": "world",
});

let (status, headers, reader) = attohttpc::post("https://my-api.org/do/something")
    .header("X-My-Header", "foo")   // set a header for the request
    .param("qux", "baz")            // set a query parameter
    .json(&obj)?                    // set the request body
    .send()?;                       // send the request

// Check if the status is a 2XX code.
if status.is_success() {
    // Consume the response body as text and print it.
    println!("{}", reader.text()?);
}

Features

  • charsets support for decoding more text encodings than just UTF-8
  • compress support for decompressing response bodies (default)
  • json support for serialization and deserialization
  • tls support for tls connections (default)

Check out the repository for more general information and examples.

Re-exports

pub use crate::charsets::Charset;

Modules

charsets

This module is a clean re-export of the encoding_rs crate. You can probably find the charset you need in here.

header

This module is a re-export of the http crate's header module.

Structs

Method

The Request Method (VERB)

PreparedRequest

Represents a request that's ready to be sent. You can inspect this object for information about the request.

RequestBuilder

Request is the main way of performing requests.

Response

Response represents a response returned by a server.

ResponseReader

The ResponseReader is used to read the body of a response.

StatusCode

An HTTP status code (status-code in RFC 7230 et al.).

TextReader

TextReader converts bytes in a specific charset to bytes in UTF-8.

Enums

Error

Common errors that can occur during HTTP requests.

Functions

delete

Create a new RequestBuilder with the DELETE method.

get

Create a new RequestBuilder with the GET method.

head

Create a new RequestBuilder with the HEAD method.

options

Create a new RequestBuilder with the OPTIONS method.

patch

Create a new RequestBuilder with the PATCH method.

post

Create a new RequestBuilder with the POST method.

put

Create a new RequestBuilder with the PUT method.

trace

Create a new RequestBuilder with the TRACE method.

Type Definitions

Result

Wrapper for the Result type with an Error.