#response #rocket #json-response #rocket-dyn-templates

rocket-response

提供可变 Rocket 响应的枚举

2 个版本

0.0.1-rc.22022 年 6 月 7 日
0.0.1-rc.12021 年 7 月 24 日

#20 in #json-response

MIT/Apache

21KB
199

Rust crates.io docs

rocket-response - 提供可变 Rocket 响应的枚举

crate 提供了 3 个枚举,以灵活返回 响应

  1. RocketResponse 提供了所有非泛型 响应 类型。
  2. RocketResponseGeneric 提供了使用单个泛型类型的非泛型 响应 类型。
  3. RocketResponseGeneric2 允许使用不同的 Flash 类型。

如果您缺少任何 响应,请欢迎您打开 问题 或甚至提供 pull-request!

由于很难决定泛型可能有什么用,所以您的用例非常欢迎在 问题 中。

用法

要使用,请将 crate 添加到您的依赖项中

[dependencies]
rocket-response = { version = "0.0.1-rc.2" }

功能

您可以根据需要依赖一些功能,这些功能提供了额外的类型。

  • json
  • msgpack
  • templates-handlebars 或 templates-tera
[dependencies]
rocket-response = { version = "0.0.1-rc.2", features = ["json", "templates-tera"] }

示例

use rocket::{get, response::{self, status, Redirect}};
use rocket_response::RocketResponseGeneric2 as RocketResponse;

#[get("/<id>")]
pub(crate) fn rocket_response_generic2(
    id: usize,
) -> RocketResponse<&'static str, Redirect> {
    match id {
        0 => RocketResponse::Flash(response::Flash::error(
          Redirect::to("/"),
            format!("Invalid id {}", id),
        )),
        1 => RocketResponse::Unauthorized(status::Unauthorized(Some(
            "admin need authentication",
        ))),
        _ => RocketResponse::Html(response::content::Html(
            "<html><body>Hello world</body></html",
        )),
    }
}

许可证

您可以选择 MIT 许可证Apache 许可证 2.0

MIT 许可证

版权所有 (c) 2022 Markus Kolb

特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人,免费使用该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向提供软件的人做上述事项,前提是必须遵守以下条件

上述版权声明和本许可声明(包括下一段)应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、适用于特定目的和侵犯版权的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论基于合同、侵权或其他行为,无论是由、出于或与该软件或该软件的使用或其他方式有关。

Apache License 2.0

版权所有 2022 Markus Kolb

根据Apache License 2.0(以下简称“许可”)许可;除非适用法律要求或书面同意,否则未经许可不得使用此文件。您可以在以下地址获取许可副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可下分发的软件按“原样”提供,不提供任何明示或暗示的保证或条件,无论是否明确表示。有关许可的具体语言、权限和限制,请参阅许可。

依赖项

~15–48MB
~801K SLoC