小编Cya*_*ook的帖子

更改外壳文本颜色(Windows)

我正在寻找一种方法来改变运行时我的python脚本输出的文本颜色.基本想法是这样的:

if (Data < LowerLimit):
    print "Failed" # Output Failed as Red Text
elif (Data > UpperLimit):
    print "Failed" # Red Color
else:
    print "Passed" # Blue Color
Run Code Online (Sandbox Code Playgroud)

这些脚本正在Windows机器上用于快速数据分析.

python windows text colors

33
推荐指数
2
解决办法
9万
查看次数

有没有办法在 Warp 中作为过滤器的一部分进行验证?

我定义了一个路由和一个端点函数。我还注入了一些依赖项。

pub fn route1() -> BoxedFilter<(String, ParamType)> {
    warp::get()
        .and(warp::path::param())
        .and(warp::filters::query::query())
        .and(warp::path::end())
        .boxed()
}

pub async fn handler1(
    query: String,
    param: ParamType,
    dependency: DependencyType,
) -> Result<impl warp::Reply, warp::Rejection> {
}
Run Code Online (Sandbox Code Playgroud)
let api = api::routes::route1()
    .and(warp::any().map(move || dependency))
    .and_then(api::hanlders::hander1);
Run Code Online (Sandbox Code Playgroud)

这一切似乎工作正常。

但是,我希望能够在多个端点前面放置一些东西,以检查查询参数中的有效键。在里面handler1我可以添加:

if !param.key_valid {
    return Ok(warp::reply::with_status(
        warp::reply::json(&""),
        StatusCode::BAD_REQUEST,
    ));
}
Run Code Online (Sandbox Code Playgroud)

我不想将它单独添加到每个处理程序中。

似乎我应该能够通过 来做到这一点filter,但我无法弄清楚。我试过使用.map()但随后返回多个项目将其转换为一个元组,我必须更改我的下游函数签名。理想情况下,我想找到一种方法来添加验证或其他过滤器,这些过滤器可以在没有任何下游值了解它们的情况下拒绝请求。

rust rust-warp

6
推荐指数
1
解决办法
1132
查看次数

有没有办法在 Reqwest 中设置客户端的最大池大小?

我发现的是ClientBuilder有一个选项可以设置每个主机的最大空闲连接数,但这似乎并没有对可用连接数给出总体限制。

rust reqwest

5
推荐指数
1
解决办法
1297
查看次数

Rust Warp 中的依赖注入

如何将依赖项注入 Warp 中的路由处理程序?一个简单的例子如下。我有一个路由,我想提供一个在启动时确定的静态值,但过滤器将值传递给最终处理程序。如何在不创建全局变量的情况下传递额外数据?这对于依赖注入很有用。

pub fn root_route() -> BoxedFilter<()> {
    warp::get().and(warp::path::end()).boxed()
}

pub async fn root_handler(git_sha: String) -> Result<impl warp::Reply, warp::Rejection> {
    Ok(warp::reply::json(
        json!({
             "sha": git_sha
        })
            .as_object()
            .unwrap(),
    ))
}


#[tokio::main]
async fn main() {
    let git_sha = "1234567890".to_string();
    let api = root_route().and_then(root_handler);
    warp::serve(api).run(([0,0,0,0], 8080)).await;
}
Run Code Online (Sandbox Code Playgroud)

rust rust-warp

2
推荐指数
1
解决办法
873
查看次数

标签 统计

rust ×3

rust-warp ×2

colors ×1

python ×1

reqwest ×1

text ×1

windows ×1