# multidict
[](https://vyjava.xyz/dashboard/image/49828baf-f890-47a8-b7c3-99179c855004)
[](https://crates.io/crates/multidict)
[](https://crates.io/crates/multidict)

[](https://docs.rs/multidict/)
[](https://github.com/Red-Panda-Dev/multidict/actions/workflows/build_doc.yml)
[](https://github.com/Red-Panda-Dev/multidict/actions/workflows/test.yml)
[](https://github.com/Red-Panda-Dev/multidict/actions/workflows/clippy.yml)
[](https://github.com/Red-Panda-Dev/multidict/actions/workflows/build_dev.yml)
[](https://github.com/Red-Panda-Dev/multidict/actions/workflows/build_release.yml)
The `multidict` crate was inspired by Python `MultiDict` [library](https://multidict.aio-libs.org/en/stable/).
`multidict` is useful for working with HTTP headers, URL query, form-data args etc.
HTTP Headers and URL query string require specific data structure: `multidict`.
It behaves mostly like a regular map but it may have several values for the same key and preserves insertion ordering
## How to install?
We recommend using the latest version of Rust. `multidict` supports Rust 2021.
Install by Cargo command:
```bash
cargo add multidict
```
Add line in your `Cargo.toml` file:
```toml
multidict = "0.0.1"
```
## How to test?
Run full tests (with docstrings):
```bash
cargo test
```
Or only project specified tests:
```bash
cargo test --tests
```