Search

Lib.rs

› Embedded development
#mime #networking

no-std mr-mime

A no_std MIME type library for Rust

by John Nunley

  • Install
  • API reference
  • GitHub repo (notgull)

2 releases

0.1.1 Mar 27, 2023
0.1.0 Sep 25, 2022

#1429 in Embedded development

MIT/Apache

4MB
113K SLoC

mr-mime

mr-mime is a library for parsing and generating MIME messages. It is created due to my dissatisfaction with the current MIME library used in most Rust projects, mime. While mr-mime is not a drop-in replacement, the API is very similar and overall aims to reduce some notable warts found in mime.

Improvements over mime

  • mr-mime is not only no_std, but can operate without an allocator. This means that it can be used in #![no_std] environments, and in environments where the allocator is not available (e.g. embedded systems).
  • mr-mime is forbid(unsafe_code), meaning that is contains no unsafe code. This reduces the potential surface where a memory vulnerability can occur.
  • mr-mime interns and provides constants for a wider variety of MIME types.

MSRV

The Minimum Supported Rust Version (MSRV) for this crate is 1.41.0. This MSRV will not be changed without a minor version bump.

License

mr-mime is licensed under one of the following licenses, at your option:

  • Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

Dependencies

  • intern-str
  • memchr

Other features

  • alloc
  • std
See also: infer, mime, mail-parser, mime_guess, mailparse, tree_magic_mini, mediatype, file-format, mail-builder, rfc2047-decoder, edge-dhcp

Lib.rs is an unofficial list of Rust/Cargo crates, created by kornelski. It contains data from multiple sources, including heuristics, and manually curated data. Content of this page is not necessarily endorsed by the authors of the crate. This site is not affiliated with nor endorsed by the Rust Project. If something is missing or incorrect, please file a bug.