~repos /rust-embed

#rust#proc-macro#http

git clone https://pyrossh.dev/repos/rust-embed.git

rust macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev.


file:

tests/mime_guess.rs

use rust_embed::{Embed, EmbeddedFile};
#[derive(Embed)]
#[folder = "examples/public/"]
struct Asset;
#[test]
fn html_mime_is_correct() {
let html_file: EmbeddedFile = Asset::get("index.html").expect("index.html exists");
assert_eq!(html_file.metadata.mimetype(), "text/html");
}
#[test]
fn css_mime_is_correct() {
let css_file: EmbeddedFile = Asset::get("main.css").expect("main.css exists");
assert_eq!(css_file.metadata.mimetype(), "text/css");
}
#[test]
fn js_mime_is_correct() {
let js_file: EmbeddedFile = Asset::get("main.js").expect("main.js exists");
assert_eq!(js_file.metadata.mimetype(), "text/javascript");
}
#[test]
fn jpg_mime_is_correct() {
let jpg_file: EmbeddedFile = Asset::get("images/flower.jpg").expect("flower.jpg exists");
assert_eq!(jpg_file.metadata.mimetype(), "image/jpeg");
}
#[test]
fn png_mime_is_correct() {
let png_file: EmbeddedFile = Asset::get("images/llama.png").expect("llama.png exists");
assert_eq!(png_file.metadata.mimetype(), "image/png");
}