#rocket #responder #implemented #routes #throw

rocket_anyhow

在rocket的route内部抛出任何错误

2个版本

0.1.1 2021年4月23日
0.1.0 2021年4月23日

#7 in #responder

每月 25 次下载

MIT 许可证

4KB

rocket_anyhow

此库提供了 rocket_anyhow::Error,它是一个包装了 anyhow::Error 的火箭 responder

use std::io::Write;

#[post("/<path..>", data="<text>")]
fn write_utf8_to(path: std::path::PathBuf, text: Vec<u8>) -> rocket_anyhow::Result {
   let mut file = std::fs::File::open(path)?;
   let text = std::str::from_utf8(&text)?;
   file.write_all(text.as_ref())?;
   Ok(())
}


lib.rs:

此库提供了 [rocket_anyhow::Error][Error],它是 anyhow::Error 的包装,并实现了火箭的 responder

use std::io::Write;

#[post("/<path..>", data="<text>")]
fn write_utf8_to(path: std::path::PathBuf, text: Vec<u8>) -> rocket_anyhow::Result {
   let mut file = std::fs::File::open(path)?;
   let text = std::str::from_utf8(&text)?;
   file.write_all(text.as_ref())?;
   Ok(())
}

依赖

~10MB
~215K SLoC