minreq 2.8.1

Simple, minimal-dependency HTTP client
Documentation
# minreq
[![Crates.io](https://img.shields.io/crates/d/minreq.svg)](https://crates.io/crates/minreq)
[![Documentation](https://docs.rs/minreq/badge.svg)](https://docs.rs/minreq)
![Unit tests](https://github.com/neonmoe/minreq/actions/workflows/unit-tests.yml/badge.svg)
![MSRV](https://github.com/neonmoe/minreq/actions/workflows/msrv.yml/badge.svg)

Simple, minimal-dependency HTTP client. Optional features for json
responses (`json-using-serde`), unicode domains (`punycode`), http
proxies (`proxy`), and https with various TLS implementations
(`https-rustls`, `https-rustls-probe`, `https-bundled`,
`https-bundled-probe`,`https-native`, and `https` which is an alias
for `https-rustls`).

Without any optional features, my casual testing indicates about 100
KB additional executable size for stripped release builds using this
crate. Compiled with rustc 1.45.2, `println!("Hello, World!");` is 239
KB on my machine, where the [hello](examples/hello.rs) example is 347
KB. Both are pure Rust, so aside from `libc`, everything is statically
linked.

Note: some of the dependencies of this crate (especially `serde` and
the various `https` libraries) are a lot more complicated than this
library, and their impact on executable size reflects that.

## [Documentation]https://docs.rs/minreq

## Planned for 3.0.0

This is a list of features I'll implement once it gets long enough, or
a severe enough issue is found that there's good reason to make a
major version bump.

- Change the response/request structs to allow multiple headers with
  the same name.
- Set sane defaults for maximum header size and status line
  length. The ability to add maximums was added in response to
  [#55]https://github.com/neonmoe/minreq/issues/55, but defaults for
  the limits is a breaking change.
- Clearer error when making a request to an url that does not start
  with `http://` or `https://`.
- Non-exhaustive error type?
- Change default proxy port to 1080 (from 8080). Curl uses 1080, so it's a sane
  default.

## Minimum Supported Rust Version (MSRV)

We use an MSRV per major release, i.e., with a new major release we
reserve the right to change the MSRV.

The current major version (v2) of this library should always compile
with any combination of features **excluding TLS** on **Rust 1.48**.

## License
This crate is distributed under the terms of the [ISC license](COPYING.md).